为了账号安全,请及时绑定邮箱和手机立即绑定

Python3.9 pandas 将透视数据框保存为正确的 csv

Python3.9 pandas 将透视数据框保存为正确的 csv

慕桂英546537 2024-01-04 16:40:45
我想要做的是将列Visits与Label列和 cmpgn_group2行进行聚合(求和),因此最终结果如下所示: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但是,当我打印数据框时,我得到以下信息:                 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()函数时,我想要一个合适的 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')对此正确的做法是什么?如何创建正确的 csv?
查看完整描述

1 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

原因是pivot_table创建多索引 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


查看完整回答
反对 回复 2024-01-04
  • 1 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信