如何减少数据帧熊猫中的列

J O*_*erg 7 python dataframe pandas

这里df数据框中的datalooks如何:

        A   B   C   D
0.js    2   1   1  -1
1.js    3  -5   1  -4
total   5  -4   2  -5
Run Code Online (Sandbox Code Playgroud)

我会得到新的数据帧df1:

        A     C
0.js    2     1
1.js    3     1
total   5     2
Run Code Online (Sandbox Code Playgroud)

所以基本上它应该是这样的: df1 = df[df["total"] > 0] 但它应该过滤行而不是列,我无法弄清楚..

Sco*_*ton 2

您可以将 loc 与布尔索引一起使用或重新索引:

df.loc[:, df.columns[(df.loc['total'] > 0)]]
Run Code Online (Sandbox Code Playgroud)

或者

df.reindex(df.columns[(df.loc['total'] > 0)], axis=1)
Run Code Online (Sandbox Code Playgroud)

输出:

       A  C
0.js   2  1
1.js   3  1
total  5  2
Run Code Online (Sandbox Code Playgroud)