Sel*_*lva 6 python python-3.x pandas
我有一个像下面这样的 df
\n\na = pd.DataFrame([{'col1': ['a,b,c'], 'col2': 'x'},{'col1': ['d,b'], 'col2': 'y'}])
当我使用 进行爆炸时df.explode(\xe2\x80\x98col1\xe2\x80\x99)
,我得到以下结果
col1 col2\na x\nb x\nc x\nd y\nb y\n
Run Code Online (Sandbox Code Playgroud)\n\n然而,我想要像下面这样的东西,
\n\ncol1 col2 col1_index\na x 1\nb x 2\nc x 3\nd y 1\nb y 2\n
Run Code Online (Sandbox Code Playgroud)\n\n有人能帮我吗?
\n您可以执行以下操作:
result = a.explode('col1').reset_index().rename(columns={'index' : 'col1_index'})
result['col1_index'] = result.groupby('col1_index').cumcount()
print(result)
Run Code Online (Sandbox Code Playgroud)
输出
col1_index col1 col2
0 0 a x
1 1 b x
2 2 c x
3 0 d y
4 1 b y
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3497 次 |
最近记录: |