将Pandas DataFrame列中的嵌套列表拆分为多列
解决方案:拆分Pandas DataFrame中的嵌套列表到多列
没问题,这事儿很简单,咱们直接上代码和步骤,一步到位解决你的需求:
第一步:构造示例数据(和你的需求匹配)
先把你给出的示例数据转换成可运行的Pandas DataFrame,注意字符串类型的元素要加引号:
import pandas as pd df = pd.DataFrame({ 'col1': [ [[1, 2], [2, 3]], [['a', 'b'], [4, 5], ['x', 'y']], [[6, 7]] ] })
第二步:拆分嵌套列表为多列
核心思路是用apply(pd.Series)把每个嵌套列表里的子元素映射到单独的列,然后给列重命名成你想要的col1、col2、col3格式:
# 将嵌套列表拆分为多列 split_result = df['col1'].apply(pd.Series) # 重命名列名,从col1开始依次递增 split_result.columns = [f'col{i+1}' for i in split_result.columns] # 查看最终结果 print(split_result)
运行后会得到和你预期高度匹配的输出:
col1 col2 col3 0 [1, 2] [2, 3] NaN 1 ['a', 'b'] [4, 5] ['x', 'y'] 2 [6, 7] NaN NaN
可选:处理空值(完全匹配预期格式)
如果不想显示NaN,而是希望空白列留空,可以用fillna('')处理:
split_result = split_result.fillna('') print(split_result)
这样输出就和你给出的预期格式完全一致了。
内容的提问来源于stack exchange,提问作者Ronnie
相关产品推荐
相关产品推荐

