我正面临熊猫的问题。输入数据是单列:
MixedColumn
-------------
20_5, 20_5**1
20_7**9
20_4, 40_4, 15_4**2
Run Code Online (Sandbox Code Playgroud)
我想拆分并将其转换为这样的内容:
Col1 Col2
--------------
20_5 1
20_5 1
20_7 9
20_4 2
40_4 2
15_4 2
Run Code Online (Sandbox Code Playgroud)
该逻辑基于逗号(如果存在)拆分每个行项目(20_5、20_5)并将它们放置在同一列(Col1)的下一行。以及基于 **拆分每个行项目(**1)并将它们与单独列 (Col2) 中的各个值相关联。
对不起,如果这是一个菜鸟问题。任何提示肯定会帮助我。谢谢并祝大家假期愉快。
首先分割上**获得Col2与Series.str.split和expand=True。
然后我们使用DataFrame.explode为每个要创建的元素创建一个新行Col1:
注意:这需要 pandas >= 0.25.0
df[['Col1', 'Col2']] = df['MixedColumn'].str.split('\*\*', expand=True)
df = df.assign(Col1=df['Col1'].str.split(', ')).explode('Col1').drop(columns='MixedColumn')
Col1 Col2
0 20_5 1
0 20_5 1
1 20_7 9
2 20_4 2
2 40_4 2
2 15_4 2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |