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

如何基于Pandas DataFrame的DateTimeIndex行应用不同函数

基于Pandas DateTimeIndex应用自定义函数的实现方法

针对你的需求,这里提供几种实用的实现方式,可根据do_some()和do_other()的具体用途选择:

1. 按年份分组处理(适合批量操作年份数据)

如果你的do_some()和do_other()是针对对应年份的整组数据进行操作,可以通过groupby按年份分组后执行函数:

# 按索引年份分组遍历
for year, group_df in df.groupby(df.index.year):
    func(year)
    # 若函数需要处理对应年份的数据,可修改func参数并传入分组后的DataFrame
    # func(year, group_df)

2. 对每个索引元素单独应用函数

如果需要为每一行的年份单独执行函数,可提取索引的年份后用map或apply:

# 提取索引年份并批量应用函数
df.index.year.map(func)

# 或者用lambda转换索引为年份后传入函数
df.index.apply(lambda idx: func(idx.year))

3. 直接通过布尔索引筛选操作(适合针对性行操作)

如果do_some()和do_other()是要对对应年份的行执行特定数据操作,也可以直接用布尔索引筛选后处理:

# 筛选2023年的行并执行操作
do_some(df[df.index.year == 2023])

# 筛选其他年份的行并执行操作
do_other(df[df.index.year != 2023])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:48:14