每日一题11:Pandas:数据重塑-透视

一、每日一题

解答:

import pandas as pd

def pivotTable(weather: pd.DataFrame) -> pd.DataFrame:
    df_pivot = weather.pivot(index='month', columns='city', values='temperature')
    return df_pivot

题源:力扣

二、总结

 Pandas 是一个强大的 Python 数据分析库,它提供了 pivot pivot_table 方法来重塑和汇总数据,使得数据分析变得更加灵活和高效。这两个方法主要用于行列转换,即“透视”操作,但它们在功能上有所差异。

1.pivot 方法

pivot 方法允许你基于给定的索引、列以及值重新组织DataFrame的数据结构。它适用于简单的数据透视场景,当你的数据不包含重复的(index, columns)组合时。pivot 的基本语法如下:

pivot_table(data, index=None, columns=None, values=None)
  • data: 要进行透视操作的DataFrame。
  • index: 用作新DataFrame行索引的列名或列名列表。
  • columns: 用作新DataFrame列名的列名或列名列表。
  • values: 需要进行聚合操作的列名,如果省略,默认使用所有数值列。

例如,如果你有一个包含城市、月份和温度的数据集,并且想按月份将城市作为列展示,你可以使用 pivot 方法。

2.pivot_table 方法

pivot_table 是一个更加强大和灵活的方法,它不仅能够处理 pivot 的所有功能,还可以处理数据聚合、缺失值填充等高级操作。特别是,当你的数据在转换后存在(index, columns)的重复项时,pivot_table 就显得尤为重要了。它允许你指定聚合函数(如均值、总和等)来处理这些重复值。pivot_table 的基本语法如下:

pivot_table(data, values=None, index=None, columns=None, aggfunc='mean',
 fill_value=None, margins=False, dropna=True, margins_name='All')
  • aggfunc: 指定聚合函数,可以是字符串(如 'mean''sum')、函数(如 np.sum)或者一个字典(用于不同的列应用不同的聚合函数)。
  • fill_value: 用于填充缺失值的值,默认为 None
  • margins: 是否计算边缘总计(行总计和列总计),默认为 False
  • dropna: 是否删除包含NaN值的行或列,默认为 True
  • margins_name: 当 margins=True 时,边缘总计的列或行标签名称,默认为 'All'

使用 pivot_table,可以在重排数据的同时进行数据汇总,比如计算每个月每个城市的平均温度、最大温度等。

官方文档

2024.5.14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值