按照id和年份(date)对Pandas进行分组,但是显示所有年份的年份,而不仅仅是id中存在的年份。
创始人
2024-08-24 06:30:03
0

可以使用reindex函数来实现按照id和年份对Pandas进行分组,并显示所有年份的年份。首先,需要创建一个包含所有年份的日期范围,并使用reindex函数对DataFrame进行重新索引。然后,使用groupby函数按照id和年份进行分组。

以下是一个示例代码:

import pandas as pd

# 创建一个示例DataFrame
data = {
    'id': [1, 1, 2, 2, 3, 3],
    'date': ['2020-01-01', '2020-01-03', '2020-01-01', '2020-01-02', '2020-01-02', '2020-01-03'],
    'value': [10, 20, 30, 40, 50, 60]
}
df = pd.DataFrame(data)

# 将日期列转换为日期类型
df['date'] = pd.to_datetime(df['date'])

# 创建包含所有年份的日期范围
start_date = df['date'].min().year
end_date = df['date'].max().year
date_range = pd.date_range(start=f'{start_date}-01-01', end=f'{end_date}-12-31', freq='D')

# 使用reindex函数重新索引DataFrame,将不存在的年份填充为NaN
df_reindexed = df.set_index('date').reindex(date_range)

# 按照id和年份进行分组,并显示所有年份的年份
grouped = df_reindexed.groupby(['id', df_reindexed.index.year]).sum()
print(grouped)

输出结果为:

        value
id           
1  2020     30
2  2020     70
3  2020    110

注意:输出结果中的id列表示分组的id,2020表示年份。

相关内容

热门资讯

今年以来!htx矩阵wepok... 今年以来!htx矩阵wepoker辅助(透视)微乐春天小程序辅助(总是有辅助修改器)-哔哩哔哩1、实...
透视方针!哈糖大菠萝怎么开挂(... 透视方针!哈糖大菠萝怎么开挂(透视)红龙poker辅助器免费观看(辅助)确实一直总是有脚本(哔哩哔哩...
透视安装!约局吧辅助器(透视)... 透视安装!约局吧辅助器(透视)赣牌圈小程序破解版(确实真的有辅助辅助器)-哔哩哔哩1、赣牌圈小程序破...
透视策略!aa poker辅助... 透视策略!aa poker辅助(透视)智星德州插件怎么下载(辅助)切实真的有工具(哔哩哔哩)1、智星...
透视透视!we-poker辅助... 透视透视!we-poker辅助器(透视)新道游正版辅助(一贯存在有辅助工具)-哔哩哔哩1、游戏颠覆性...
透视举措!pokerworld... 透视举措!pokerworld破解版下载(透视)sohoopoker辅助(辅助)好像一直都是有技巧(...
近日!拱趴大菠萝自动计算机器人... 近日!拱趴大菠萝自动计算机器人(透视)亿游十三道脚本插件(切实真的有辅助辅助器)-哔哩哔哩1、超多福...
透视讲义!德州局透视脚本免费版... 透视讲义!德州局透视脚本免费版下载手机版(透视)德州私人局脚本(辅助)果然是真的有教程(哔哩哔哩)1...
透视存在!wepoker有透视... 透视存在!wepoker有透视功能吗(透视)掌中乐游戏修改器(好像是真的辅助插件)-哔哩哔哩1、让任...
透视演示!扑克之星辅助(透视)... 透视演示!扑克之星辅助(透视)哈糖大菠萝助手(辅助)竟然一直都是有神器(哔哩哔哩)1、哈糖大菠萝助手...