如何合并数据框中的某些数据

时间:2019-03-27 05:35:22

标签: python pandas

我需要合并数据帧中的某些数据,因为我将在python中编码[顺序关联规则]。

如何合并数据以及应在python中使用哪种算法? 阿普里里? FP增长? 我在python中找不到使用apriori的[顺序关联规则]。 他们使用R

访问的地点为250。唯一ID号为116807,总行为170万。并且,每个ID都有country_code(111个国家/地区,但我将其分类为10个国家/地区)..因此,我将其合并为一个。

以前的数据

index     date_ymd      id     visit_nm   country
1         20170801    123123    seoul      460
2         20170801    123123    tokyo      460
3         20170801    124567    seoul      440
4         20170802    123123    osaka      460
5         20170802    123123    seoul      460
...         ...         ...      ...

我需要什么

index    Transaction           visit_nm      country
1        20170801123123      {seoul,tokyo}     460
2        20170802123123      {osaka,seoul}     460

2 个答案:

答案 0 :(得分:2)

根据我对数据的了解,请使用groupby agg:

s=pd.Series(df.date_ymd.astype(str)+df.id.astype(str),name='Transaction')
(df.groupby(s)
 .agg({'visit_nm':lambda x: set(x),'country':'first'}).reset_index())

      Transaction        visit_nm  country
0  20170801123123  {seoul, tokyo}      460
1  20170801124567         {seoul}      440
2  20170802123123  {osaka, seoul}      460

答案 1 :(得分:0)

您还可以使用:

df['Transaction'] = df['date_ymd'].map(str)+df['id'].map(str)
df.groupby('Transaction').agg({'visit_nm': lambda x: set(x), 'country': 'first'}).reset_index()