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

使用Python pandas按国家分组统计其对应年份的起止区间

实现代码

你可以通过pandas的分组聚合+字符串拼接直接完成需求,完整实现如下:

import pandas as pd

# 如果你已经有原始DataFrame可跳过构造数据的步骤
data = {
    "year": [1910, 1916, 1919, 1921, 1923, 1930, 1950, 1953, 1961],
    "country": ["Argentina"]*5 + ["Yugoslavia"]*4
}
df = pd.DataFrame(data)

# 核心处理逻辑
result = df.groupby("country", as_index=False)["year"].agg(
    period=lambda x: f"{x.min()} to {x.max()}"
)

# 输出验证结果
print(result)

如果你需要保留中间计算过程,也可以拆分为先算最大最小年份再拼接的写法:

result = df.groupby("country", as_index=False)["year"].agg(
    min_year="min",
    max_year="max"
).assign(
    period=lambda x: x["min_year"].astype(str) + " to " + x["max_year"].astype(str)
)[["country", "period"]]

两种写法运行后得到的result都是你需要的输出格式。

内容的提问来源于stack exchange,提问作者N-Sam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:30:01