如何基于列表内的字典键在DataFrame中创建新列
解决方法
可以通过两步操作实现需求:将每个字典列表合并为单个字典,再将字典转换为新列与原DataFrame拼接。
代码实现
import pandas as pd # 处理你的DataFrame(假设原DataFrame名为df) # 1. 合并每行的字典列表为单个字典 df['combined_dict'] = df['criteria'].apply(lambda x: {k: v for d in x for k, v in d.items()}) # 2. 将字典列拆分为多列,并与原DataFrame拼接 final_df = pd.concat([df, pd.DataFrame(df['combined_dict'].tolist())], axis=1) # 可选:删除中间生成的combined_dict列 final_df = final_df.drop('combined_dict', axis=1)
说明
- 第一步通过字典推导式,遍历每行的所有字典,把所有键值对合并成一个字典,解决了列表中字典数量不等的问题
- 第二步利用
pd.DataFrame()将字典序列直接转换为带列名的DataFrame,缺失的键会自动填充NaN - 最终结果会新增
Seniority level、Employment type等列,对应每行的字典值
内容的提问来源于stack exchange,提问作者jeanneta olivia
相关产品推荐
相关产品推荐

