3 回答
TA贡献1796条经验 获得超4个赞
使用Series.to_dict来考虑索引:
df.join(pd.DataFrame(df['col2'].to_dict()).T).drop(columns='col2')
col1 aa bb
0 1 NaN NaN
1 2 NaN NaN
2 3 11.0 22.0
3 4 33.0 44.0
4 5 55.0 66.0
TA贡献1876条经验 获得超5个赞
IIUC 通过传递 after 来修复您的代码indexdropna
s=df.col2.dropna()
df=df.join(pd.DataFrame(s.tolist(), index=s.index))
df
Out[103]:
col1 col2 aa bb
0 1 NaN NaN NaN
1 2 NaN NaN NaN
2 3 {'aa': 11, 'bb': 22} 11.0 22.0
3 4 {'aa': 33, 'bb': 44} 33.0 44.0
4 5 {'aa': 55, 'bb': 66} 55.0 66.0
TA贡献1835条经验 获得超7个赞
尝试:pd.concat([df['col1'], df['col2'].apply(pd.Series)], axis=1)
col1 aa bb
0 1 NaN NaN
1 2 NaN NaN
2 3 11.0 22.0
3 4 33.0 44.0
4 5 55.0 66.0
添加回答
举报