這是我的 csv 的樣子
| 時間 | 原因 |
|---|---|
| 23 | a / b / c |
| 42 | c / d / a / b |
| 12 | 一個/d/e |
| 98 | c / b / e / d |
這就是我想要實作的輸出
| 時間 | 一種 | b | C | d | e |
|---|---|---|---|---|---|
| 23 | 1 | 1 | 1 | 0 | 0 |
| 42 | 1 | 1 | 1 | 1 | 0 |
| 12 | 1 | 1 | 0 | 0 | 1 |
| 98 | 0 | 1 | 1 | 1 | 1 |
我的真實資料要大得多,但這個例子應該讓我得到我正在尋找的東西。我不知道如何使用 map 函式來檢查每個單元格中的多個可能值。
uj5u.com熱心網友回復:
您可以使用str.get_dummies并join回傳到原始資料框:
df[['time']].join(df['cause'].str.get_dummies(sep=' / '))
或pop用于修改原始資料框:
df = df.join(df.pop('cause').str.get_dummies(sep=' / '))
輸出:
time a b c d e
0 23 1 1 1 0 0
1 42 1 1 1 1 0
2 12 1 0 0 1 1
3 98 0 1 1 1 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/466918.html
