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
添加回答
舉報