python-3.x - 如何从熊猫数据框中查找特定值
问题描述
我想知道如何从 Dataframe 中找到特定值。我有价值吗?分布在我的数据框中,并且检查数据框中的每一列都非常耗时。有没有简单的方法来获取包含该特定值的列名?例如,我有? 遍布我的汽车数据库。
我可以通过如下列轻松做到这一点:
df_car['bhp'].where(df_car['bhp']=?) //something like this
我能找到一种简单的方法来获取所有内容吗?和0值然后替换它?
谢谢,
解决方案
你的意思是找到所有列?
或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"
在 columnlocation
和1
columnweight
推荐阅读
- android - Payment method for google play subscriptions?
- android - 在另一个片段中定义 NavHostFragment
- c - 如何从 Windows 上的套接字端口获取 PID?
- ios - 关闭文本字段的键盘时 UIView 动画不起作用
- javascript - 如何将 Swagger 添加到现有的 Node 应用程序?
- css - TranslateX 打破了粘性导航栏
- c++ - 如何使用 auto 深度声明几个变量?
- c# - 填充数据适配器时字典中不存在给定的键
- c++ - 如何每次都在不同大小的循环中重新声明相同的数组?
- xml - 如何使用此架构使此 xml 文件有效