python - 使用字典更新 Pandas 数据框或 csv

标签 python csv dictionary

我的脚本中的函数返回 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/

相关文章:

c++ - 将代码从 map<char, T> 重构为 vector<T>

python - Django 字典键,for 循环中的值不起作用

python - 如何找到给定 Pandas 数据帧索引的位置索引?

python - 类型错误:apply_gradients() 获得意外的关键字参数 'global_step'

python - 循环只删除两项?

python - 与使用 Python 的 txt 文件中的列表相比,如何从 csv 文件中删除行?

javascript - 如何从 Javascript 中的字符串列表创建映射(对象)

python - 使用 pip 安装 MySQL-python 时,最终出现以下输出并且无法安装 MySQLdb

python - 在 Heroku 上开始使用 Python - 找不到 pg_config 可执行文件

csv - 如何对 CSV 文件重新排序以按特定列的内容进行分组