我需要合并数据帧中的某些数据,因为我将在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
答案 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()