python将数据透视表pivot_table转为DataFrame 格式

26 篇文章 0 订阅

问题:pyhton中使用pivot_table汇总数据后,结果不是DF格式,需要转为DF格式方便后面继续进行操作。

解决方法:使用 reset_index()将数据透视表pivot_table转为DataFrame 格式

具体代码如下:

pivot=pd.pivot_table(df,index=['time'],columns=['products'],values=['price'],aggfunc='sum')

table=pivot.reset_index()

另外,还可以使用df.reset_index(drop=True) 将索引值删除

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
pivot_table() 是 pandas 库中的一个函数,用于创建透视表。透视表是一种交互式报表,可以对原始数据进行汇总和分析,以便更好地理解数据的分布和关系。 pivot_table() 函数的常用参数如下: - values:需要汇总的列或列的列表。 - index:用于分组的列或列的列表。 - columns:用于分组的列或列的列表,用于创建列名或多层列索引。 - aggfunc:用于聚合的函数,如 sum、mean、count、max、min 等。 - fill_value:用于替换汇总表中的空值(NaN)。 - margins:添加行和列的汇总统计信息,可选参数为 True 和 False。 示例: ```python import pandas as pd data = {'City': ['Beijing', 'Beijing', 'Shanghai', 'Shanghai', 'Guangzhou', 'Guangzhou'], 'Year': [2019, 2020, 2019, 2020, 2019, 2020], 'Population': [2154, 2171, 2424, 2419, 1441, 1462], 'GDP': [30320, 30500, 35000, 36000, 20300, 21000]} df = pd.DataFrame(data) # 创建透视表 pt = pd.pivot_table(df, values=['Population', 'GDP'], index='City', columns='Year', aggfunc=sum, fill_value=0, margins=True) print(pt) ``` 输出结果: ``` GDP Population Year 2019 2020 All 2019 2020 All City Beijing 30320 30500 60820 2154 2171 4325 Guangzhou 20300 21000 41300 1441 1462 2903 Shanghai 35000 36000 71000 2424 2419 4843 All 85620 87500 173120 6019 6052 12071 ``` 该透视表按照城市和年份对数据进行了分组,以 GDP 和 Population 为值进行汇总,填充空值为0,并添加了行和列的汇总统计信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值