python - 循环所有列以获取任何列中的值
问题描述
我正在尝试遍历数据框中的所有列以查找满足“特征”条件的位置以更改特征值。因此,如果我的数据框(df)如下所示:
Feature FeatureValue Feature2 Feature2Value
Cat 1 Dog 3
Fish 2 Cat 1
我想找到 Feature=Cat 或 Feature2=Cat 的位置,并将 FeatureValue 和 Feature2Value 更改为 20。我尝试了以下方法来开始,但我很挣扎。
for column in df:
if df.loc[df[column] == "Cat"]:
print(column)
解决方案如下所示:
Feature FeatureValue Feature2 Feature2Value
Cat 20 Dog 3
Fish 2 Cat 20
解决方案
这是一种方法:
# First we construct a dictionary linking each feature to its value column
feature_value = {'Feature' : 'FeatureValue', 'Feature2' : 'Feature2Value'}
# We iterate over each feature column
for feature in feature_value:
df.loc[df[feature]=='Cat', feature_value[feature]] = 20
推荐阅读
- python - 使用 python 从 msssql 服务器获取数据
- php - 如何将不同的表格显示为问卷?
- python - Python - 将格式为“2000-01-01”的字符串日期列表转换为格式为 YYYYmmdd 的浮点日期列表
- javascript - Jquery中的回滚功能
- unity3d - Unity3D:Unity 的 NavMeshAgents 是否不再将优先级较低的代理推开?
- javascript - 第二次单击后无法动态设置单选按钮值
- android - GoogleApiAvailability:意外错误代码 19
- php - phalcon 我的用户创建表单不适用于我的数据库
- android - 加载几页后如何设置OffscreenPageLimit()?
- wordpress - 想要自定义 [the_excerpt] 长度形式 wp