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

按相同值过滤列

按相同值过滤列

梵蒂冈之花 2022-06-02 16:02:53
我有一个示例数据框,我想根据相同的值过滤几列,但我想避免重复行来执行此操作:df = df.loc[df['a'] == 7]df = df.loc[df['b'] == 7]我正在寻找一种更简洁的方式来编写此内容,因为我将有许多具有相同处理方式的列。这是我的尝试:df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6], [7, 7, 9]]), columns=['a', 'b', 'c']) my_cols = ['a','b']print(df.loc[df[my_cols]==7])但我收到以下错误:无法使用多维键进行索引有谁知道是否可以制作这种类型的过滤器?
查看完整描述

1 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

因为df[my_cols]==7return booleanDataFrame是必要的,所以添加DataFrame.any:


print(df[(df[my_cols]==7).any(axis=1)])

   a  b  c

2  7  7  9

print (df[my_cols]==7)

       a      b

0  False  False

1  False  False

2   True   True


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

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