我需要在數據框中合并一些數據,因為我將在 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
提交
取消