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

我正在寻找一种方法,根据单行的值从我的 Pandas df 中删除所有列,例如,返回一个包含所有行的新 df,但仅返回 X 行中为零的那些列。


慕虎7371278
浏览 155回答 2
2回答

守着一只汪

你可以用loc和做到这一点ilocdf = 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  e0  1  1  11  2  0  22  3  3  33  4  4  44  0  0  0

MM们

好的,我找到了方法。任何人有更好/更快/更多的pythonian/pandas解决方案吗?zero_cols = df1['X' ==  0  df2 = df1.loc[:,zero_cols == True]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python