Python 组合';n';一行一行
我有以下数据帧:Python 组合';n';一行一行,python,pandas,dataframe,Python,Pandas,Dataframe,我有以下数据帧: START NAME 5.11 name1 9.1 name1 10.86 name1 12.61 name2 14.86 name2 23.11 name2 25.36 name1 26.61 name1 28.36 name2 31.61 name2 32.86 name1 35.61 name1 44.61 name1 46.36 name2 我将按名称将其合并如下: START END NA
START NAME
5.11 name1
9.1 name1
10.86 name1
12.61 name2
14.86 name2
23.11 name2
25.36 name1
26.61 name1
28.36 name2
31.61 name2
32.86 name1
35.61 name1
44.61 name1
46.36 name2
我将按名称将其合并如下:
START END NAME
5.11 12.61 name1
12.61 25.36 name2
26.61 28.36 name1
28.36 32.86 name2
32.86 46.36 name1
46.36 total name2
我试过这样的方法:
df2 = df.copy()
df2 = df2.rename({"name": "temp"}).reset_index()
grp = (df2['name'] != df2['name'].shift()).cumsum().rename('group')
df2 = df2.groupby(['name', grp], sort=False)
但这并不能产生期望的输出。谢谢你的帮助
谢谢
shift
将该行的内容与下一行的内容进行比较谢谢,这很有效
cond = (df['NAME'] != df['NAME'].shift(1))
dfn = df[cond].copy()
dfn['END'] = dfn['START'].shift(-1).fillna('total')
dfn[['START', 'END', 'NAME']]