我有一个数据框:
df = pd.DataFrame({"jumps":[1,2,3,4,3,2,1,2,3,1,1,4,4],
"Location":['US','US','US','US','US','US','US','US','US','FR','FR','US','US'],
"job":["sales","sales","sales","marketing","marketing","sales","sales","sales","sales","IT","IT","marketing","marketing"]})
结果:
jumps Location job
0 1 US sales
1 2 US sales
2 3 US sales
3 4 US marketing
4 3 US marketing
5 2 US sales
6 1 US sales
7 2 US sales
8 3 US sales
9 1 FR IT
10 1 FR IT
11 4 US marketing
12 4 US marketing
我想做的是根据出现的情况按工作分组。因此,如果职位描述不正确-必须重新计算。一个简单的工作组将汇总第一组和第二组的销售额(索引5到8)。
我希望拥有的是第一次出现的索引:
sales 0
marketing 3
sales 5
IT 9
marketing 11
你的意思是:
>>> df.reset_index().loc[df['job'].ne(df['job'].shift()), ['job', 'index']]
# or,
>>> df.reset_index().groupby(
df.job.ne(df.job.shift(1)).cumsum(), as_index=False
)[['job', 'index']].first()
job index
0 sales 0
1 marketing 3
2 sales 5
3 IT 9
4 marketing 11
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句