我想要做的是將列Visits與Label列和 cmpgn_group2行進行聚合(求和),因此最終結(jié)果如下所示:cmpgn_group2,Campaigns,Direct Entry,Search Engines,Social Networks,Websites name_1,2618.0,2266.0,4386.0,691.0,1097.0name_2,,1046.0,4045.0,81.0,139.0name_3,27.0,6752.0,3266.0,12.0,250.0但是,當我打印數(shù)據(jù)框時,我得到以下信息: Visits Label Campaigns Direct Entry Search Engines Social Networks Websites cmpgn_group2 name_1 2618.0 2266.0 4386.0 691.0 1097.0 name_2 NaN 1046.0 4045.0 81.0 139.0 name_3 27.0 6752.0 3266.0 12.0 250.0在我的 Jupyter 筆記本中,這對于可讀性來說很好,但是當我使用該to_csv()函數(shù)時,我想要一個合適的 csv(看起來像我上面顯示的那樣),不幸的是我得到的是這樣的:,Visits,Visits,Visits,Visits,VisitsLabel,Campaigns,Direct Entry,Search Engines,Social Networks,Websites cmpgn_group2,,,,, name_1,2618.0,2266.0,4386.0,691.0,1097.0 name_2,,1046.0,4045.0,81.0,139.0 name_3,27.0,6752.0,3266.0,12.0,250.0從我的角度來看,這不是一個合適的 csv,我無法在我的工作流程中使用它。這是我的代碼:df = pd.read_csv('channels_26_Oct_2020.csv')df2 = pd.pivot_table(df, values=['Visits'], columns=['Label'], index=' cmpgn_group2', aggfunc=np.sum)print(df2)df2.to_csv('channels_26_Oct_2020_2.csv')對此正確的做法是什么?如何創(chuàng)建正確的 csv?
1 回答

收到一只叮咚
TA貢獻1821條經(jīng)驗 獲得超5個贊
原因是pivot_table創(chuàng)建多索引 DataFrame。您可以將它們折疊成一個索引,如下所示:
df2 = pd.pivot_table(df, values=['Visits'], columns=['Label'], index=' cmpgn_group2', aggfunc=np.sum)
df2.columns = df2.columns.map('_'.join)
df2.to_csv('ex1.csv')
輸出 CSV 文件:
cmpgn_group2,Visits_Campaigns,Visits_Direct Entry,Visits_Search Engines,Visits_Social Networks,Visits_Websites
name_1,2618.0,2266.0,4386.0,691.0,1097.0
name_2,,1046.0,4045.0,81.0,139.0
name_3,27.0,6752.0,3266.0,12.0,250.0
添加回答
舉報
0/150
提交
取消