【发布时间】:2015-09-22 18:10:35
【问题描述】:
现在我知道如何检查数据框中跨多个列的特定值。但是,我似乎无法弄清楚如何根据布尔响应执行 if 语句。
例如:
使用os.walk 遍历目录并将特定文件读入数据帧。
for root, dirs, files in os.walk(main):
filters = '*specificfile.csv'
for filename in fnmatch.filter(files, filters):
df = pd.read_csv(os.path.join(root, filename),error_bad_lines=False)
现在跨多个列检查该数据框。第一个值是列名(column1),下一个值是我在该列(香蕉)中查找的特定值。然后,我正在检查另一列(column2)以获取特定值(绿色)。如果这两个都是真的,我想执行一项特定的任务。但是,如果它是错误的,我想做其他事情。
类似:
if (df['column1']=='banana') & (df['colour']=='green'):
do something
else:
do something
【问题讨论】:
-
具体任务是什么?是要更新同一行的内容吗?
-
您是否要检查是否有任何行满足您的 df 或 rows 条件?
-
我在你的问题中没有看到任何问题。
-
不,我不想对数据进行任何修改。 google上有很多基于修改数据的理解风格陈述。但我似乎找不到任何一个普通的
if。我们可以假设该任务将是一个基于系统的命令动作;以os.makdirs为例 -
抱歉 Alex.S 我会修改它以尝试让自己更清楚。我刚刚重读了几次,我可以看到两种形式的问题。 1. 换句话说,“我似乎不知道如何根据布尔响应执行 if 语句。”第二个是代码形式(帖子底部的sn-p)。