Dog*_*ace 5 python python-3.x pandas
我有一个如下所示的 DataFrame:
|Index| Dimension |
|-----|-----------|
|0 |1@43X32X34 |
|1 |1@120X80X74|
|2 |2@26X26X32 |
|3 |1@120X80X81|
Run Code Online (Sandbox Code Playgroud)
我想从 Dimension 列中提取数字并将其拆分为多列:
|Index| Amount|Length|Width|Height|
|-----|-------|------|-----|------|
|0 | 1| 43| 32| 34|
|1 | 1| 120| 80| 74|
|2 | 2| 26| 26| 32|
|3 | 1| 120| 80| 81|
Run Code Online (Sandbox Code Playgroud)
如何使用 Python 中的 Pandas 模块做到这一点?谢谢!
您可以使用pandas str split和 Expand=True ,分隔符是 @ 和 X,因此传入它们将确保适当的拆分。然后,您可以插入 Index 作为第一列并重写列名称:
M = df.Dimension.str.split('[@X]',expand=True)
M.insert(0,'Index',df.Index)
M.columns = ['Index','Amount','Length','Width','Height']
Index Amount Length Width Height
0 0 1 43 32 34
1 1 1 120 80 74
2 2 2 26 26 32
3 3 1 120 80 81
Run Code Online (Sandbox Code Playgroud)