删除特定行中具有特定值的所有列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除特定行中具有特定值的所有列相关的知识,希望对你有一定的参考价值。
我正在寻找一种方法来根据单行的值从我的pandas df中删除所有列,例如,返回一个包含所有行的新df,但只返回行X中为零的那些列。
答案
你可以用loc
和iloc
做到这一点
df = pd.DataFrame({'a':[1, 20, 30, 4, 0],
'b':[1, 0, 3, 4, 0],
'c':[1, 3, 7, 7, 5],
'd':[1, 8, 3, 8, 5],
'e':[1, 11, 3, 4, 0]})
df.loc[:, df.iloc[4,:] == 0]
a b e
0 1 1 1
1 2 0 2
2 3 3 3
3 4 4 4
4 0 0 0
另一答案
好的,我找到了办法。有没有更好/更快/更多的蟒蛇/熊猫解决方案?
zero_cols = df1['X' == 0
df2 = df1.loc[:,zero_cols == True]
以上是关于删除特定行中具有特定值的所有列的主要内容,如果未能解决你的问题,请参考以下文章