我需要跟踪在pd.explode()
之后创建的项目的列表位置。虽然我只需要几行代码就可以做到这一点,比如在iterrows()
中,但我正在尝试找到一种快速的方法来做到这一点
爆炸前
df = pd.DataFrame({'foo':[['a','b','c'],['d'],['e', 'f']]})
foo
0 [a, b, c]
1 [d]
2 [e, f]
爆炸后
df = df.explode('foo', ignore_index=True)
df['idx'] = [0,1,2,0,0,1] # NEED TO REPLACE THIS LINE WITH SMART PANDAS FUNCTION
foo idx
0 a 0
1 b 1
2 c 2
3 d 0
4 e 0
5 f 1
所需状态包括带有原始列表索引的idx
列。如何正确地创建它
对于重复的索引值,首先从} 最后创建的默认索引:
explode
中删除ignore_index=True
,以便可以通过index
使用^{另一个想法是通过列表长度展平
range
:相关问题 更多 >
编程相关推荐