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

Pandas修改DataFrame中字典/列表类型列格式的方法咨询

Pandas DataFrame嵌套结构列调整实现

以下代码默认你已将样例数据读取为存储在变量df中的pandas DataFrame,仅依赖pandas原生能力即可完成全部调整,无需安装额外工具包。


1. title列格式调整

当前title列的每个值是仅含en键的字典,直接通过pandas字符串访问器提取目标值覆盖原列即可:

df['title'] = df['title'].str['en']

处理后title列直接存储英文字符串,例如第一行值为Hard Fork。


2. coins列格式调整

注意该列存在单条事件对应多个币种的情况(例如第0行对应2个币种),常规分析场景下推荐将列表拆分为多行,再把字典字段拆为独立列:

# 将列表中的每个币种拆分为单独一行
df = df.explode('coins')
# 提取字典中所有字段生成独立列,添加前缀避免列名冲突
coin_features = df['coins'].apply(pd.Series).add_prefix('coin_')
# 拼接拆分后的列,删除原始coins列
df = pd.concat([df.drop(columns=['coins']), coin_features], axis=1)

处理完成后会新增coin_id、coin_coingecko_id、coin_name、coin_rank、coin_symbol、coin_fullname6个独立列,分别存储每个币种的对应属性,单条事件关联N个币种就会生成N行数据。
如果不需要拆分行,也可以根据自己的业务需求修改逻辑,比如提取所有币种名称用逗号拼接存在单元格内。


3. categories列格式调整

该列每个值是存储分类字典的列表,只需遍历提取每个字典中name键的取值即可:

# 提取所有分类的name值,保留列表结构
df['categories'] = df['categories'].apply(lambda cat_list: [item['name'] for item in cat_list])

如果需要把列表转为逗号分隔的字符串格式,可以追加一行代码处理:

# 可选:将分类列表转为逗号拼接的字符串,例如"Exchange,AMA"
df['categories'] = df['categories'].apply(lambda x: ','.join(x))

全部处理完成后可以执行print(df.head())打印前5行数据,校验各列格式是否符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 11:03:15