【发布时间】:2022-01-13 21:00:36
【问题描述】:
我有一个文件,其中有 6 列数据; 州,县,候选人,党,total_votes,赢了
我想向此数据框添加一个新列 - 全名 使用下面的代码,我能够添加新列
df = pd.read_csv('president_county_candidate.csv')
new_column = pd.DataFrame({'Full Party Name': ['Democrat', 'Democrat', 'Republican','Republican']})
df = df.merge(new_column, left_index = True, right_index = True)
#df.to_csv('filename.csv', index = False)
print(df.head())
这添加了我的列,我现在遇到的问题是需要定义列中的数据。我已经手动在前 4 行中添加了一些值,但是不想对整个数据集执行此操作 - 我希望根据派对列中当前的值填充列值 - 所以我们看到“Rep”它应该在新列中输出“Republican”,在它看到“Dem”的地方应该输出“Democrat”。
是否有我应该使用的替换功能,或者是否有可以在这里工作的 if/loop 语句?
【问题讨论】:
-
使用将短方名称映射到长名称的字典。然后就可以使用
apply()来进行映射了。
标签: python pandas loops if-statement