首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Python pandas中重塑此数据集?

在Python pandas中重塑数据集可以使用pivotmeltstack/unstack等方法。

  1. pivot方法:将长格式的数据集转换为宽格式。它需要指定一个索引列、一个列名列和一个值列。例如:
代码语言:txt
复制
import pandas as pd

# 创建示例数据集
data = {'日期': ['2022-01-01', '2022-01-01', '2022-01-02', '2022-01-02'],
        '城市': ['北京', '上海', '北京', '上海'],
        '销售额': [100, 200, 150, 250]}
df = pd.DataFrame(data)

# 使用pivot方法重塑数据集
df_pivot = df.pivot(index='日期', columns='城市', values='销售额')
print(df_pivot)

输出结果为:

代码语言:txt
复制
城市           上海   北京
日期                   
2022-01-01  200  100
2022-01-02  250  150
  1. melt方法:将宽格式的数据集转换为长格式。它需要指定一个或多个列作为标识符,将其他列转换为变量和值列。例如:
代码语言:txt
复制
import pandas as pd

# 创建示例数据集
data = {'日期': ['2022-01-01', '2022-01-02'],
        '北京': [100, 150],
        '上海': [200, 250]}
df = pd.DataFrame(data)

# 使用melt方法重塑数据集
df_melt = df.melt(id_vars='日期', var_name='城市', value_name='销售额')
print(df_melt)

输出结果为:

代码语言:txt
复制
          日期  城市  销售额
0  2022-01-01  北京  100
1  2022-01-02  北京  150
2  2022-01-01  上海  200
3  2022-01-02  上海  250
  1. stack/unstack方法:将多级索引的数据集在行和列之间进行转换。stack方法将列索引转换为行索引,unstack方法将行索引转换为列索引。例如:
代码语言:txt
复制
import pandas as pd

# 创建示例数据集
data = {'日期': ['2022-01-01', '2022-01-01', '2022-01-02', '2022-01-02'],
        '城市': ['北京', '上海', '北京', '上海'],
        '销售额': [100, 200, 150, 250]}
df = pd.DataFrame(data).set_index(['日期', '城市'])

# 使用stack/unstack方法重塑数据集
df_stack = df.unstack()
print(df_stack)

df_unstack = df_stack.stack()
print(df_unstack)

输出结果为:

代码语言:txt
复制
         销售额    
城市       上海   北京
日期              
2022-01-01  200  100
2022-01-02  250  150

                   销售额
日期         城市      
2022-01-01 上海  200
            北京  100
2022-01-02 上海  250
            北京  150

以上是在Python pandas中重塑数据集的几种常用方法。根据具体的数据集结构和需求,选择合适的方法进行数据重塑。腾讯云提供的相关产品和服务可以参考腾讯云官方文档:腾讯云产品与服务

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券