我有一个像下面这样的 df
a = pd.DataFrame([{'col1': ['a,b,c'], 'col2': 'x'},{'col1': ['d,b'], 'col2': 'y'}])
当我使用 df.explode('col1')
进行爆炸时,我得到以下结果
col1 col2
a x
b x
c x
d y
b y
但是,我想要像下面这样的东西,
col1 col2 col1_index
a x 1
b x 2
c x 3
d y 1
b y 2
有人可以帮助我吗?
最佳答案
您可以执行以下操作:
result = a.explode('col1').reset_index().rename(columns={'index' : 'col1_index'})
result['col1_index'] = result.groupby('col1_index').cumcount()
print(result)
输出
col1_index col1 col2
0 0 a x
1 1 b x
2 2 c x
3 0 d y
4 1 b y
关于python - Pandas 爆炸指数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59223095/