【Pandas驯化-07】DataFrame中无所不能的pivot函数
本次修炼方法请往下查看
🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地!
🎇 相关内容文档获取 微信公众号
🎇 相关内容视频讲解 B站
🎓 博主简介:AI算法驯化师,混迹多个大厂搜索、推荐、广告、数据分析、数据挖掘岗位 个人申请专利40+,熟练掌握机器、深度学习等各类应用算法原理和项目实战经验。
🔧 技术专长: 在机器学习、搜索、广告、推荐、CV、NLP、多模态、数据分析等算法相关领域有丰富的项目实战经验。已累计为求职、科研、学习等需求提供近千次有偿|无偿定制化服务,助力多位小伙伴在学习、求职、工作上少走弯路、提高效率,近一年好评率100% 。
📝 博客风采: 积极分享关于机器学习、深度学习、数据分析、NLP、PyTorch、Python、Linux、工作、项目总结相关的实用内容。
下滑查看解决方法
🎯 1. 基本介绍
在数据处理中,经常需要对数据进行重塑以适应不同的分析需求。Pandas 提供了 pivot 函数,允许用户重构长格式(long format)的数据为宽格式(wide format),通过指定索引(index)、列(columns)和值(values),可以快速地创建一个新的派生表,使得数据的展示更加直观。
💡 2. 使用方法
为了使得大家更加清晰的看情况pivot函数的用法,我们创建示例 DataFrame并再次基础上进行实验,具体的代码如下:
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({
'Person': ['John', 'John', 'Lisa', 'Lisa'],
'Year': [2017, 2018, 2017, 2018],
'Age': [24, 25, 35, 36]
})
# 显示原始 DataFrame
print("原始 DataFrame:")
print(df)
原始 DataFrame:
Person Year Age
0 John 2017 24
1 John 2018 25
2 Lisa 2017 35
3 Lisa 2018 36
使用 pivot 函数,我们可以将 ‘Person’ 作为行索引,‘Year’ 作为列,‘Age’ 作为值。具体操作如下:
# 使用 pivot 重塑 DataFrame
pivot_df = df.pivot(index='Person', columns='Year', values='Age')
# 显示 pivot 后的 DataFrame
print("\npivot 后的 DataFrame:")
print(pivot_df)
pivot 后的 DataFrame:
Year
2017 2018
John 24 25
Lisa 35 36
🔍 3. 注意事项
对上述的各个函数在使用的过程中需要注意的一些事项,不然可能会出现error,具体主要为:
- pivot 函数要求 values 参数指定的列只能有一个,如果存在多个,则需要先进行数据聚合。
- 使用 pivot 时,如果某些索引和列的组合在原始数据中不存在,Pandas 会填充缺失值(NaN)。
- pivot 可以与 pivot_table 函数结合使用,pivot_table 提供了更多的灵活性,如数据聚合和处理多重索引。
🔧 4. 总结
pivot 函数是 Pandas 中一个非常有用的工具,它可以帮助我们将长格式的数据转换为宽格式,使得数据的展示更加直观,便于分析。本文通过实际的代码示例和输出结果,展示了如何使用 pivot 函数来重塑 DataFrame。希望这篇博客能够帮助你更好地理解并应用 pivot 函数来处理你的数据。