我試圖將一個(gè)集合列轉(zhuǎn)換為 python 數(shù)據(jù)框中的列表,但失敗了。不確定這樣做的最佳方法是什么。謝謝。這是示例:我嘗試創(chuàng)建一個(gè)“c”列,將“b”集列轉(zhuǎn)換為列表。但 'c' 仍然設(shè)置。data = [{'a': [1,2,3], 'b':{11,22,33}},{'a':[2,3,4],'b':{111,222}}]tdf = pd.DataFrame(data)tdf['c'] = list(tdf['b'])tdf a b c0 [1, 2, 3] {33, 11, 22} {33, 11, 22}1 [2, 3, 4] {222, 111} {222, 111}
2 回答

智慧大石
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
使用apply
:
tdf['c'] = tdf['b'].apply(list)
因?yàn)槭褂?code>list是對整列而不是一一進(jìn)行。
或者做:
tdf['c'] = tdf['b'].map(list)

MM們
TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
你可以這樣做:
import pandas as pd
data = [{'a': [1,2,3], 'b':{11,22,33}},{'a':[2,3,4],'b':{111,222}}]
tdf = pd.DataFrame(data)
tdf['c'] = [list(e) for e in tdf.b]
print(tdf)
添加回答
舉報(bào)
0/150
提交
取消