如何根据同一csv文件中的其他列在csv中写入空列

时间:2018-05-28 19:37:03

标签: python csv for-loop conditional-statements

我不知道这是否是一个非常简单的qustion,但我想基于另外两个列做一个条件声明。 我有两个列,如:年龄和SES,另一个空列应该基于这两列。例如,当一个人65岁并且其相应的社会经济地位高时,则在第三列(空栏=活力等级)中,例如给出 1 的值。我已经了解了我想要实现的目标,但是我不知道如何在python本身中实现它。我知道我应该使用 for 循环,我知道如何编写条件,但是由于我想考虑两列来确定将在空列中写入什么,我有不知道如何在函数中编写它 以及如何写回相同的csv(在相应的空列中)

[enter image description here]

1 个答案:

答案 0 :(得分:0)

使用pandas模块将csv导入为DataFrame对象。然后,您可以执行逻辑语句来填充空列:

import pandas as pd
df = pd.read_csv('path_to_file.csv')
df.loc[(df['age']==65) & (df['SES']=='high'), 'vitality_class'] = 1
df.to_csv('path_to_new_file.csv', index=False)