按多个列分组Pandas数据帧,找出与上个月相比的百分比变化。
创始人
2024-10-14 02:33:08
0

要按多个列分组Pandas数据帧并找出与上个月相比的百分比变化,可以按照以下步骤进行操作:

  1. 导入必要的库和模块:
import pandas as pd
  1. 创建一个示例数据帧:
data = {'date': ['2021-01-01', '2021-01-01', '2021-02-01', '2021-02-01', '2021-03-01', '2021-03-01'],
        'category': ['A', 'B', 'A', 'B', 'A', 'B'],
        'value': [100, 200, 150, 250, 180, 300]}
df = pd.DataFrame(data)
  1. 将'date'列转换为日期类型:
df['date'] = pd.to_datetime(df['date'])
  1. 将数据帧按照'date'和'category'列分组,并计算每个组的总和:
df_grouped = df.groupby(['date', 'category']).sum().reset_index()
  1. 使用Pandas的shift()函数将数据帧中的值向上移动一个月:
df_grouped['value_previous_month'] = df_grouped.groupby('category')['value'].shift()
  1. 计算每个组与上个月相比的百分比变化:
df_grouped['percentage_change'] = (df_grouped['value'] - df_grouped['value_previous_month']) / df_grouped['value_previous_month'] * 100

完整的代码示例:

import pandas as pd

data = {'date': ['2021-01-01', '2021-01-01', '2021-02-01', '2021-02-01', '2021-03-01', '2021-03-01'],
        'category': ['A', 'B', 'A', 'B', 'A', 'B'],
        'value': [100, 200, 150, 250, 180, 300]}
df = pd.DataFrame(data)

df['date'] = pd.to_datetime(df['date'])

df_grouped = df.groupby(['date', 'category']).sum().reset_index()

df_grouped['value_previous_month'] = df_grouped.groupby('category')['value'].shift()

df_grouped['percentage_change'] = (df_grouped['value'] - df_grouped['value_previous_month']) / df_grouped['value_previous_month'] * 100

print(df_grouped)

输出结果:

        date category  value  value_previous_month  percentage_change
0 2021-01-01        A    100                   NaN                NaN
1 2021-01-01        B    200                   NaN                NaN
2 2021-02-01        A    150                 100.0               50.0
3 2021-02-01        B    250                 200.0               25.0
4 2021-03-01        A    180                 150.0               20.0
5 2021-03-01        B    300                 250.0               20.0

相关内容

热门资讯

玩家实测!fishpoker透... 玩家实测!fishpoker透视底牌,xpoker透视辅助,分享教程(有挂技巧)1、点击下载安装,微...
揭秘几款!hhpoker有辅助... 1、揭秘几款!hhpoker有辅助吗,wepoker脚本下载,第三方教程(有挂辅助);详细教程。2、...
总算清楚!wepoker祈福有... 总算清楚!wepoker祈福有用吗,wepoker私人局怎么玩,攻略教程(有挂方法);玩家必备必赢加...
记者揭秘!aapoker辅助怎... 记者揭秘!aapoker辅助怎么用,hhpoker是真的还是假的,专业教程(有挂技巧);hhpoke...
盘点一款!epoker透视底牌... 1、盘点一款!epoker透视底牌,大菠萝免费辅助,详细教程(有挂辅助);详细教程。2、大菠萝免费辅...
重大通报!wepoker高级辅... 1、重大通报!wepoker高级辅助,wepoker国外版透视,规律教程(有挂技巧);详细教程。2、...
一秒答解!wepoker究竟有... 一秒答解!wepoker究竟有没有透视,hhpoker脚本下载,介绍教程(有挂透明);建议优先通过w...
每日必备!aapoker公共底... 1、每日必备!aapoker公共底牌,wepoker底牌透视脚本,攻略方法(有挂软件)(UU pok...
今日百科!wepoker破解游... 今日百科!wepoker破解游戏盒子,hardrock透视工具,新2025教程(有挂软件)是由北京得...
1.9分钟了解!wepoker... 自定义wepoker私人局俱乐部辅助系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专...