首页 > 解决方案 > 如何从熊猫数据框中查找特定值

问题描述

我想知道如何从 Dataframe 中找到特定值。我有价值吗?分布在我的数据框中,并且检查数据框中的每一列都非常耗时。有没有简单的方法来获取包含该特定值的列名?例如,我有? 遍布我的汽车数据库。

我可以通过如下列轻松做到这一点:

df_car['bhp'].where(df_car['bhp']=?) //something like this

我能找到一种简单的方法来获取所有内容吗?0值然后替换它?

谢谢,

标签: python-3.xpandasnumpydataframe

解决方案


你的意思是找到所有列?0其中的所有列?

然后你可以使用df.isin(),它找到一些价值是否在df

这个例子将展示如何找到 df 的列,其中它们包含 value"italy"1.

>>> import pandsa as pd

>>> df = pd.DataFrame({'location': ['canada', 'canada', 'italy', 'italy'], 'item': ['coke', 'coke', 'pepsi', 'coke'], 'weight': [1, 1, 2, 1]})
  location   item  weight
0   canada   coke       1
1   canada   coke       1
2    italy  pepsi       2
3    italy   coke       1

>>> res = df[df.isin([1, "italy"])].notna().any()
>>> columns = res[res].index.tolist()
>>> print(columns)
['location', 'weight']

输出是['location', 'weight']因为"italy"在 columnlocation1columnweight


推荐阅读