如何从熊猫数据框中查找特定值

时间:2019-11-12 04:20:07

标签: python-3.x pandas numpy dataframe

我想知道如何从数据框中找到特定值。我在整个数据框中都有一个值,并且检查数据框中的每一列都很耗时。是否有任何简单的方法来获取包含该特定值的列名称?例如,我在我的汽车数据库中分布了

我可以通过下面的列轻松地做到这一点:

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

我能否获得一种简单的方法来获取所有 0 值,然后将其替换?

谢谢

1 个答案:

答案 0 :(得分:0)

您是否要查找其中包含?0的所有列?

然后您可以使用df.isin(),无论是否在df中都可以找到一些价值

此示例将说明如何查找df的列,其中包含值"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"中的location和列1中的weight