这就是我的熊猫数据帧的样子。我的要求是根据User_type组合发话列,并按Chat_sequence_number进行排序,并按case_id和Interaction_id对其进行分组
Case_ID Interaction_ID Chat_Sequence_Number User_Type Utterances
1 123 3 Person1 are
1 123 4 Person1 you
1 123 1 Person1 Hello,
1 123 2 Person1 how
1 123 5 Person1 feeling?
1 123 6 Person2 I'm
1 123 6 Person2 fine.
有没有一种方法可以根据上述要求创建新的数据框。我的最终输出应如下所示
Case_ID Interaction_ID User_Type话语1 123 Person1您好,您感觉如何?1123人1我很好。
您可以按照以下步骤进行操作:
这项工作在下面的一行中完成
import pandas as pd
# Create the dataframe
df = pd.DataFrame(columns=['Case_ID','Interaction_ID','Chat_Sequence_Number','User_Type','Utterances'])
df['Utterances'] = 'are','you','Hello','how','feeling?',"I'm",'fine.'
df['User_Type'] = ['Person1']*5+['Person2']*2
df['Chat_Sequence_Number'] = 3,4,1,2,5,6,7
df['Case_ID'] = 1
df['Interaction_ID'] = 123
# Do the grouping
output = df.sort_values(['Chat_Sequence_Number']).groupby(['Case_ID','Interaction_ID','User_Type'])['Utterances'].apply(' '.join).reset_index()
print(output)
输出:
Case_ID Interaction_ID User_Type Utterances
0 1 123 Person1 Hello how are you feeling?
1 1 123 Person2 I'm fine.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句