我的脚本中的函数返回 John
的字典,如下所示:
{ "Apple": 10, "Mango": 20, "Banana":30}
我每次调用该函数时,键和值不一定相同。例如,它还可以为 Jen
生成字典,例如
{ "Apple": 10, "Banana":30, "Watermelon": 5}
我想将值更新为 csv(或更新为 pandas 数据框,然后更新为 csv)以存储它以供以后分析。 csv 的期望输出是:
Name | Apple | Banana | Mango | Watermelon |
------------------------------------------
John | 10 | 30 | 20 |
Jen | 10 | 30 | | 5
因此,puedocode如下:
if dictionary-keys == csv_or_df_header:
add value to corresponding columns by matching keys with column headers
else:
add the new key as a column header
add value to corresponding columns by matching keys with column headers
最佳答案
Pandas append function 会为你完成大部分工作。这段代码:
import pandas as pd
df = pd.DataFrame({'Apple': 10, "Mango": 20, "Banana": 30}, index=['John'])
jen = pd.Series({"Apple": 10, "Banana": 30, "Watermelon": 5}, name='Jen')
df = df.append(jen)
print(df)
产生这个结果:
Apple Banana Mango Watermelon
John 10.0 30.0 20.0 NaN
Jen 10.0 30.0 NaN 5.0
如果你想移动它to csv从那里您可以在程序末尾添加 df.to_csv(csv_filepath)
,它会将其导出到您指定的文件路径。
关于python - 使用字典更新 Pandas 数据框或 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43807181/