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

在 Pandas DataFrame 中的任意位置搜索值

在 Pandas DataFrame 中的任意位置搜索值

摇曳的蔷薇 2021-09-28 21:09:22
这似乎是一个简单的问题,但我之前找不到它(this和this很接近,但答案不是很好)。问题是:如果我想在我的 df某处搜索一个值(我不知道它在哪一列)并返回所有匹配的行。最 Pandaic 的方法是什么?有什么比:for col in list(df):    try:            df[col] == var        return df[df[col] == var]    except TypeError:        continue ?
查看完整描述

3 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

您可以对整个 DataFrame 执行相等比较:

df[df.eq(var1).any(1)]


查看完整回答
反对 回复 2021-09-28
?
慕婉清6462132

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

你应该使用isin,这是返回列,是想要行检查冷'答案:-)


df.isin(['bal1']).any()

A        False

B         True

C        False

CLASS    False

dtype: bool

或者


df[df.isin(['bal1'])].stack() # level 0 index is row index , level 1 index is columns which contain that value 

0  B    bal1

1  B    bal1

dtype: object


查看完整回答
反对 回复 2021-09-28
  • 3 回答
  • 0 关注
  • 291 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号