python - Pandas 数据框的转换
问题描述
我有一个看起来像这样的 Pandas DataFrame:
Store Month Sales
0 1 Jan 1100
1 1 Feb 1300
2 1 Mar 1250
3 1 Apr 1500
4 2 Jan 900
5 2 Feb 950
6 2 Mar 800
7 2 Apr 900
我想对其进行改造,使其看起来像:
Store Jan Feb Mar Apr
0 1 1100 1300 1250 1500
1 2 1900 1950 1800 900
在 Python 中有没有一种有效的方法来做到这一点?我已经阅读了pandas.DataFrame.groupby和pandas.DataFrame.transpose的文档,但我仍然看不到如何使用它们来完成上述转换。
解决方案
数据透视表足以满足您的用例:
print(df.pivot_table(index='Store', columns=['Month'], values='Sales'))
Apr Feb Jan Mar
Store
1 1500 1300 1100 1250
2 900 950 900 800
推荐阅读
- python - 动态创建类实例的最简洁方法
- php - NGINX + mediawiki:在 index.php 之上设置 index.html(索引优先级)
- websocket - 如何使用 Absinthe (Elixir) 和 Urql 进行 graphql 订阅?
- xml - 读取 XML 并存储在变量、ASMX、VB.NET 中
- c# - Selenium c# System.InvalidOperationException: '会话未创建'
- flutter - 带有放大和缩小选项的颤振扫描二维码
- python - 在方法中将字符串传递给 eval
- python - 使用 Pandas 访问 Python 中的列
- notifications - FHIR 管理通知
- visual-studio - Azure DevOps Server 升级期间无法删除弹性搜索服务