2016-06-29 72 views
2

我用Pandas將Python導入到Python中,我希望能夠使用一個作爲列作爲事務ID,以便制定關聯規則。用於Pandas Python數據框關聯規則的Transacction ID列。

(鏈接:https://github.com/antonio1695/Python/blob/master/nearBPO/facturas.csv

我希望有人能幫助我:

使用UUID作爲事務ID,讓我有類似下面的數據框:

UUID  Desc 
123ex Meat,Beer 

爲了對於我來說,可以得到如下關聯規則:{Meat} => {Beer}。

此外,建議在庫上以簡單的方式這樣做,將不勝感激。

謝謝你的時間。

+0

對不起名字是你df.loc後'[DF [「UUID」] == some_id','Desc']'?或者像'df.groupby('UUID')['Desc']。apply(list)'? – EdChum

+0

第二次工作完美!但是,它給我的類型是** pandas.core.series.Series **,有沒有辦法將它保留爲數據框?如果它可以像任何數據框一樣編輯並導入爲一個,我想你只是回答了我的問題。所以你可以在答案中發佈它,我可以把你+1,並標記我的問題爲答案。 :) @EdChum –

+0

我也想過這樣的事情:''pd.pivot_table(df_du,index = [「UUID」],values = [「Desc」])''但它不起作用。 @EdChum –

回答

2

您可以通過執行聚集值放入一個列表如下:

df.groupby('UUID')['Desc'].apply(list) 

這會給你想要的東西,如果你想要的UUID早在一列,你可以撥打上述reset_index

df.groupby('UUID')['Desc'].apply(list).reset_index() 

也爲系列仍然可以這樣導出爲CSV相同,但DF:

df.groupby('UUID')['Desc'].apply(list).to_csv(your_path) 

您可能需要您的索引出口之前,或者如果你發現它更容易只是reset_index恢復指數重回作爲一列,然後撥打to_csv