我有一個資料框,其中一列是這樣的串列:
| RefID | 參考 |
|---|---|
| 參考1 | (嬰兒, 60, 0) |
| 參考2 | (某事, 90, 2) |
我想將此串列提取為單獨的欄位,如以下代碼所示:
df['MatchWord'], df['Prox'], df['MatchID'] = df.Ref.str
但我收到“FutureWarning:列迭代...”錯誤。我還能如何拆分此串列列?
uj5u.com熱心網友回復:
你可以apply(pd.Series)。這會將專案解壓縮為列:
df['Ref'].apply(pd.Series, index=['MatchWord', 'Prox', 'MatchID'])
或者使用DataFrame建構式:
pd.DataFrame(df['Ref'].to_list(), columns=['MatchWord', 'Prox', 'MatchID'])
輸出:
MatchWord Prox MatchID
0 baby 60 0
1 something 90 2
uj5u.com熱心網友回復:
使用pd.DataFrame.from_records和join:
cols = ['MatchWord', 'Prox', 'MatchID']
out = df.join(pd.DataFrame.from_records(df['Ref'], index=df.index, columns=cols))
print(out)
# Output
RefID Ref MatchWord Prox MatchID
0 Ref1 (baby, 60, 0) baby 60 0
1 Ref2 (something, 90, 2) something 90 2
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/419877.html
標籤:
下一篇:僅根據其他變數的觀察結果保留ID
