2 回答

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
使用ast模塊將字符串轉(zhuǎn)換為列表對(duì)象,然后使用explode
前任:
import ast
data = [{'A':3,'B':"[{'id':'001'},{'id':'002'}]"},
{'A':4,'B':"[{'id':'003'},{'id':'004'}]"},
{'A':5,'B':"[{'id':'005'},{'id':'006'}]"},
{'A':6,'B':"[{'id':'007'},{'id':'008'}]"}]
df = pd.DataFrame(data)
df["B"] = df['B'].apply(ast.literal_eval)
df1 = df.explode('B')
df1.reset_index(drop = True, inplace = True)
print(df1)
輸出:
A B
0 3 {'id': '001'}
1 3 {'id': '002'}
2 4 {'id': '003'}
3 4 {'id': '004'}
4 5 {'id': '005'}
5 5 {'id': '006'}
6 6 {'id': '007'}
7 6 {'id': '008'}

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
您需要更改類(lèi)型以列出,然后您可以使用爆炸。
df=df.assign(**df['tracts'].apply(eval)).explode('tracts')
添加回答
舉報(bào)