我有一个表,其中同一示例有多个条目,并且对该示例进行了多个调用。我试图为每个调用创建一个列,其中最后一个调用从第一个调用开始,每行都有一个列。下面是一个示例表:
7/7/20217/3/20217/3/2027/3/2027 7/3/2021 8 8:45a7 7/15/20217/15/15/20215/2027 7 7/15/20215/20215/20217/20217/15/20217/15/20217/15/20215/2027日期日期记录时间记录时间记录时间A7 7 7 7 7 7/7 7/15/15/20215/20215/20215/2021 9 9 9 9 9 7 7 7 7 7 7 7 7 7 7/2027 7 7 7 7 7 7 7 7 7 7 7 7 7/2027 7 7 7 7 7 7 7 7 7 7 7 7 7 7/2027 7 7 7 7 7 7 7 7 7 7 7 7 7 7/2027 7 7 7 7 7/2027 7 7 7 7 7 7 7 7 7 7 7 7 7 7/2027 7 7 7 7 7 7 7 7/2027 7 7 7 7 7 7/2027 7 7 7 7 7 7 7 7 7 7/20217/30/2021 16:41
我基本上是想让它看起来像这样:
2/2/2021 1 13:7 7 7 7/2/2021 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7/2021 7 7 7 7 7 7/2021 7 7 7 7 7 7 7 7 7/2021 7 7 7 7 7 7 7 7 7 7 7/2021 7 7 7 7 7 7 7 7 7 7 7 7 7/2021 7 7 7 7 7 7/2021 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7/2027 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7/2027 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7/2027 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7/2027 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 20217/30/202116:417/30/2021 11:127/30/2021 16:41
我试过轮班
df1['Call 1'] = df1.groupby(['Name', 'Discharge Date'])['RECORDED_TIME'].shift(-1)
df1['Call 2'] = df1.groupby(['Name', 'Discharge Date'])['RECORDED_TIME'].shift(-2)
df1['Call 3'] = df1.groupby(['Name', 'Discharge Date'])['RECORDED_TIME'].shift(-3)
df1['Call 4'] = df1.groupby(['Name', 'Discharge Date'])['RECORDED_TIME'].shift(-4)
这让我倒转了最后一排。我试着做了N件事,比如:
df1['Call 1'] = df1.groupby(['Name', 'Discharge Date'], as_index=False)['RECORDED_TIME'].nth(0)
df1['Call 2'] = df1.groupby(['Name', 'Discharge Date'], as_index=False)['RECORDED_TIME'].nth(1)
df1['Call 3'] = df1.groupby(['Name', 'Discharge Date'], as_index=False)['RECORDED_TIME'].nth(2)
df1['Call 4'] = df1.groupby(['Name', 'Discharge Date'], as_index=False)['RECORDED_TIME'].nth(3)
我试过改变位置号,但它们不会循环。因此,我似乎无法从该通话组中的第一个通话中接听电话1。为了重申这一点,我正在尝试在组的最后一次呼叫中创建一个列,将第一次呼叫放入列调用1,第二次呼叫放入列调用2,等等。一旦我可以将这些新列放入其中,就可以轻松地删除其他呼叫并将最后一次呼叫保持在记录时间内。
2条答案
按热度按时间s71maibg1#
这项工作:
42fyovps2#
试试这个: