我想知道如何从数据框中找到特定值。我在整个数据框中都有一个?值,并且检查数据框中的每一列都很耗时。是否有任何简单的方法来获取包含该特定值的列名称?例如,我在我的汽车数据库中分布了?。
我可以通过下面的列轻松地做到这一点:
df_car['bhp'].where(df_car['bhp']=?) //something like this
我能否获得一种简单的方法来获取所有?和 0 值,然后将其替换?
谢谢
答案 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