我有一个简单的问题,与类似的问题这里和这里有关。
我试图从一个pandas数据帧中删除所有只包含零的列(垂直方向上,
我试图从一个pandas数据帧中删除所有只包含零的列(垂直方向上,
axis=1
)。让我举个例子:df = pd.DataFrame({'a':[0,0,0,0], 'b':[0,-1,0,1]})
a b
0 0 0
1 0 -1
2 0 0
3 0 1
我想删除列a
,因为它只有零。
然而,如果可能的话,我希望以一种简洁且向量化的方式完成。我的数据集非常大,所以我不想使用循环。因此,我尝试了
df = df.loc[(df).any(1), (df!=0).any(0)]
b
1 -1
3 1
可以同时删除列和行。但如果我只尝试删除列,loc
似乎会失败。你有什么想法吗?
b
吗? - cs95sum([-1, 1, -1, 1])
的结果是0
。 - MaxU - stand with Ukraine