如何从含字典列表的Series生成展开后的DataFrame?
解决字典列表列展开为DataFrame的方法
先构造示例数据方便测试:
import pandas as pd df = pd.DataFrame({ 'Column A': [ [{'A':1, 'B':2}], [{'A':3, 'B':4}, {'A':5, 'B':6}] ] })
方法一:先拆分再转DataFrame
先通过explode把每行的字典列表拆成单独行,每个字典占一行:
df_exploded = df.explode('Column A', ignore_index=True)
接着把这一列的字典直接转成DataFrame:
result = pd.DataFrame(df_exploded['Column A'].tolist())
也可以合并成一行代码:
result = df.explode('Column A', ignore_index=True).pipe(lambda x: pd.DataFrame(x['Column A'].tolist()))
方法二:直接提取所有字典转DataFrame
用列表推导式把所有行里的字典一次性提取到一个列表中,再转成DataFrame:
all_dicts = [dict_item for sublist in df['Column A'] for dict_item in sublist] result = pd.DataFrame(all_dicts)
两种方法最终都会得到你想要的结构:
A B 0 1 2 1 3 4 2 5 6
内容的提问来源于stack exchange,提问作者renanvsn
相关产品推荐
相关产品推荐

