0
votes

Extraction d'une partie non nulle de la série pandas à partir de DataFrame

Disons que j'ai ce DataFrame:

0    4.4
1    4.5
3    3.2

Je souhaite extraire uniquement la colonne (série) C2 et uniquement les éléments non nuls de cette série.

I peut le faire en deux étapes:

d = df.loc[df['C2'].notnull()]
s=d['C2']

s sera

    C1    C2    C3
0    1   4.4    99
1    2   4.5   200
2    3   NaN    65
3    4   3.2   140

Puis-je faire cela en une seule étape? p>


0 commentaires

3 Réponses :


1
votes

Vous parlez de dropna

df.C2.dropna()
Out[486]: 
0    4.4
1    4.5
3    3.2
Name: C2, dtype: float64


0 commentaires

0
votes

Pensez à utiliser query avec .notna si vous souhaitez filtrer votre dataframe:

   C1   C2   C3
0   1  4.4   99
1   2  4.5  200
3   4  3.2  140

Sortie

df.query('C2.notna()')


0 commentaires

0
votes

vous pouvez également combiner vos deux étapes en une seule et supprimer la loc

df[df['C2'].notnull()]['C2']


3 commentaires

Mieux: df.loc [df ['C2']. Notnull (), 'C2']


pouvez-vous expliquer comment c'est mieux?


Demandez à lire