如何從帶有標簽串列的字串列轉到下面顯示的格式?
這就是我所擁有的:
pd.DataFrame([["a",1],["b","1, 2"],["c","1,3,4"]], columns =['id', 'label'])
這就是我要的:
pd.DataFrame([["a",1,0,0,0],["b",1,1,0,0],["c",1,0,1,1]], columns =['id', '1', '2', '3', '4'])
我可以用 for 回圈來做到這一點,但執行時間很可怕。
uj5u.com熱心網友回復:
您還可以使用:
df['label'] = df['label'].str.replace(' ', '').str.split(',')
df = df.explode('label')
df = df.pivot_table(index= 'id', columns=['label'], aggfunc=any).fillna(False).astype(int)
uj5u.com熱心網友回復:
使用.str.get_dummies():
df = pd.concat([df.drop('label', axis=1), df['label'].str.get_dummies(',')], axis=1)
輸出:
>>> df
id 1 2 3 4
0 a 1 0 0 0
1 b 1 1 0 0
2 c 1 0 1 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/443605.html
上一篇:為熊貓列賦值不起作用
