You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何基于国家列生成重复序列,实现按国家每4天分组处理

Python Pandas 实现按国家分组每4行生成同一序号的方法

实现代码

用pandas的分组+行号计算即可实现和R代码等效的效果,操作如下:
首先确保你的数据已经加载为pandas的DataFrame,然后执行:

import pandas as pd

# 第一步:先按国家+日期排序,保证时序正确,避免原数据顺序混乱导致序号出错
df = df.sort_values(by=['Country', 'Date'], ignore_index=True)

# 第二步:按国家分组生成Every_4列
df['Every_4'] = df.groupby('Country').cumcount() // 4 + 1

逻辑说明

  • groupby('Country'):和R中group_by功能一致,保证每个国家的序号独立生成,互不干扰
  • cumcount():为每个分组内的行生成从0开始的连续行号
  • //4:整数除法,每4个连续行号会得到同一个整数值(0、1、2、3除以4都得0,4、5、6、7除以4都得1,以此类推)
  • +1:让最终序号从1开始计数,匹配需求

效果验证

每个国家8天数据的场景下,最终生成的Every_4列效果如下:

CountryDateValueAEvery_4
FRA第1天xxx1
FRA第2天xxx1
FRA第3天xxx1
FRA第4天xxx1
FRA第5天xxx2
FRA第6天xxx2
FRA第7天xxx2
FRA第8天xxx2
USA第1天xxx1
............

完全支持后续按国家+Every_4字段做分组统计。

内容的提问来源于stack exchange,提问作者Isadora Tessler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 12:45:07