我有一個資料框,其中有一列包含多個值(A 列),我需要為該列中的每個值創建一行,以保留其他列(B 列和其他列)中的資料
| A欄 | B欄 |
|---|---|
| Xbox, 游戲機 | Xbox Elite 2,雙感邊緣 |
| Xbox、任天堂、Atlus | 女神異聞錄 3 便攜版、女神異聞錄 4 金色 |
我期待這樣的事情
| A欄 | B欄 |
|---|---|
| 的Xbox | Xbox Elite 2,雙感邊緣 |
| 游戲機 | Xbox Elite 2,雙感邊緣 |
| 的Xbox | 女神異聞錄 3 便攜版、女神異聞錄 4 金色 |
| 任天堂 | 女神異聞錄 3 便攜版、女神異聞錄 4 金色 |
| Atlus | 女神異聞錄 3 便攜版、女神異聞錄 4 金色 |
我知道這可以手動完成,但我想知道是否有辦法用 python 來完成,我有大約 400 行
uj5u.com熱心網友回復:
這是一種方法,將值轉換為串列,然后分解為行
# split the column on , which makes the content of columnA as a list
df['Column A']=df['Column A'].str.strip().str.split(',' )
# explode
out=df.explode(['Column A'])
out
Column A Column B
0 Xbox Xbox Elite 2, Dualsense Edge
0 Playstation Xbox Elite 2, Dualsense Edge
1 Xbox Persona 3 Portable, Persona 4 Golden
1 Nintendo Persona 3 Portable, Persona 4 Golden
1 Atlus Persona 3 Portable, Persona 4 Golden
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/526611.html
上一篇:MVC表單資料無法系結到模型
