是否用分隔符按id连接另一列中的列值



我有以下数据帧:

dict_df = {'sent_id': {11: 3,
12: 3,
24: 7,
25: 7,
26: 7,
27: 7,
28: 7,
29: 8,
124: 15,
125: 15,
126: 15,
133: 15,
134: 15,
135: 15,
357: 26,
358: 26,
359: 26},
'entity': {11: 'Zhao',
12: 'Li',
24: 'Beijing',
25: 'PKU',
26: 'Chinafront',
27: 'Technology',
28: 'Co.,',
29: 'Ltd.',
124: 'January',
125: '1,',
126: '2006',
133: 'December',
134: '31,',
135: '2006.',
357: 'RMB',
358: '37,560',
359: 'Yuan'},
'label': {11: 'B-lessor',
12: 'I-lessor',
24: 'B-lessee',
25: 'I-lessee',
26: 'I-lessee',
27: 'I-lessee',
28: 'I-lessee',
29: 'I-lessee',
124: 'B-start_date',
125: 'I-start_date',
126: 'I-start_date',
133: 'B-end_date',
134: 'I-end_date',
135: 'I-end_date',
357: 'B-lease_payment',
358: 'I-lease_payment',
359: 'I-lease_payment'}}

我想通过CCD_ 1将其连接回完整的句子"分离器。

我尝试过:

import pandas as pd
df = pd.DataFrame(df_dict)

df.groupby("sent_id").agg(" ".join),但我需要将其聚合为:

January 1, 2006

我应该更改什么来添加分隔符,或者可能有一种更简单的方法可以只在标签列中使用唯一值来执行相同的操作。

您可以使用Pandas groupby:连接多行中的字符串

' '.join(df.groupby('sent_id')['entity'].transform(lambda row: ' '.join(row)).drop_duplicates())

这将给你:

Zhao Li Beijing PKU Chinafront Technology Co., Ltd. January 1, 2006 December 31, 2006. RMB 37,560 Yuan

相关内容

最新更新