为了账号安全,请及时绑定邮箱和手机立即绑定

删除特定行中具有特定值的所有列

删除特定行中具有特定值的所有列

慕虎7371278 2021-11-30 19:21:09
我正在寻找一种方法,根据单行的值从我的 Pandas df 中删除所有列,例如,返回一个包含所有行的新 df,但仅返回 X 行中为零的那些列。
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

你可以用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


查看完整回答
反对 回复 2021-11-30
?
MM们

TA贡献1886条经验 获得超2个赞

好的,我找到了方法。任何人有更好/更快/更多的pythonian/pandas解决方案吗?

zero_cols = df1['X' ==  0 
df2 = df1.loc[:,zero_cols == True]


查看完整回答
反对 回复 2021-11-30
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信