You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas将CSV关键词数据转换为指定嵌套字典?

使用Pandas将CSV数据转换为指定嵌套字典格式

情况1:CSV为宽格式(日期作为列名)

如果你的CSV结构是keyword列 + 多个日期列(比如7/25/22、8/25/22作为列名,对应数值),直接用set_index和to_dict就能一步生成目标格式:

import pandas as pd

# 读取CSV
df = pd.read_csv('your_data.csv')

# 转换为目标嵌套字典
data = df.set_index('keyword').T.to_dict('dict')

说明:

  • set_index('keyword'):把keyword列设为行索引,让每个唯一关键词成为一行的标识
  • .T:转置数据,让日期变成行、关键词变成列
  • to_dict('dict'):生成嵌套字典,外层键是关键词,内层键是日期,值是对应数值

情况2:CSV为长格式(每行是keyword+date+value)

如果你的CSV是长格式(列名比如keyword、date、value,每行对应一个关键词在某一天的数值),用groupby结合apply处理:

import pandas as pd

# 读取CSV
df = pd.read_csv('your_data.csv')

# 按keyword分组,将每组的date和value转为字典
data = df.groupby('keyword').apply(lambda x: x.set_index('date')['value'].to_dict()).to_dict()

说明:

  • groupby('keyword'):自动按唯一关键词分组,无需手动处理重复值
  • 匿名函数lambda x: x.set_index('date')['value'].to_dict():把每组的date设为索引,value作为值,转为字典
  • 最后to_dict():把分组结果转为外层以关键词为键的嵌套字典

为什么不用duplicated()?

Pandas的groupby会自动处理重复的keyword值,无需提前用duplicated()筛选,直接分组后就能聚合出每个关键词对应的所有日期-数值对,代码更简洁高效。

内容的提问来源于stack exchange,提问作者vkatsitadze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 15:48:30