Voici comment les datalooks comme dans df dataframe:
A C 0.js 2 1 1.js 3 1 total 5 2
Et j'obtiendrais un nouveau dataframe df1 :
XXX
Donc, en gros, cela devrait ressembler à ceci:
df1 = df [df ["total"]> 0]
mais il devrait filtrer sur la ligne au lieu de la colonne et je ne peux pas le comprendre ..
3 Réponses :
Vous souhaitez utiliser .loc [:, column_mask] c'est-à-dire
In [11]: df.loc[:, df.sum() > 0]
Out[11]:
A C
total 5 2
# or
In [12]: df.loc[:, df.iloc[0] > 0]
Out[12]:
A C
total 5 2
Vous pouvez utiliser, loc avec une indexation booléenne ou une réindexation:
A C 0.js 2 1 1.js 3 1 total 5 2
OU
df.reindex(df.columns[(df.loc['total'] > 0)], axis=1)
Sortie:
df.loc[:, df.columns[(df.loc['total'] > 0)]]