在组的最后一行创建一列,将组的第一行放在第一列,将第二行放在第二列..使用熊猫等



我有一个表,其中有同一实例的多个条目和对该实例的多次调用。我试图为每个调用创建一列,其中最后一个调用为从第一个调用开始的每一行创建一列。下面是一个示例表:

202113:20202110:0220217月7日9:34[/tr>
姓名 出院日期 记录时间
A 2021年7月1日
A 2021年7月1日 2022年3月7日8:45
A 2021年7月15日 2022年7日9时
2021年7月15日
A 2021年7月15日 2022年7日14时14分
A 2021年7月20日
B 2021年7月3日 2021年7月4日11:46
B 2021年7月6日
B 2021年7月6日 2021年7月7日12:23
B 2021年7月6日 2021年7月8日8:58
B 2021年7月6日 2021年7月8日15:51
B 2021年7月29日 20221年7月30日11:12
B 2021年7月29日 20221年7月30日16:41

这是有效的:

gb = df.groupby(["Name", "Discharge Date"])["Recorded Time"]
result = pd.concat([gb.last(), 
pd.DataFrame(gb.apply(lambda x: pd.Series(x.values)).unstack()).add_prefix("Call ")], 
axis=1)

试试这个:

gc = ['Name','Discharge Date']
rc = df.groupby(gc)['Recorded Time'].last()
(df.assign(cc = lambda x: x.groupby(gc).cumcount())
.set_index(gc + ['cc'])['Recorded Time'].unstack()
.rename(lambda x: 'Call {}'.format(x+1),axis=1).join(rc))

相关内容

  • 没有找到相关文章

最新更新