我需要在数据框中合并一些数据,因为我将在 python 中编码 [顺序关联规则]。如何合并数据以及我应该在 python 中使用什么算法?先验?FP增长?我在python中使用apriori找不到[顺序关联规则]。他们使用 R访问地点为250个。唯一ID号为116807,总行数为170万。而且,每个 id 都有 country_code(111 个国家/地区,但我会将它们分类为 10 个国家/地区).. 所以我将它们再合并一个。以前的数据index date_ymd id visit_nm country1 20170801 123123 seoul 4602 20170801 123123 tokyo 4603 20170801 124567 seoul 4404 20170802 123123 osaka 4605 20170802 123123 seoul 460... ... ... ...我需要的index Transaction visit_nm country1 20170801123123 {seoul,tokyo} 4602 20170802123123 {osaka,seoul} 460
2 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
根据我看到的数据,使用 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
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
你也可以使用:
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()
添加回答
举报
0/150
提交
取消