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

Pandas提取季度数据问题:多月份筛选结果为空求解决

问题原因与解决方案

原因分析

你用&(逻辑与)连接三个筛选条件,这要求同一行的日期字符串必须同时包含"2022-01"、"2022-02"、"2022-03",但你的数据里每个日期只属于单个月份,没有能同时满足三个条件的记录,所以返回空数据集。

解决办法

方式1:直接用字符串匹配(无需转换列类型)

把逻辑与&换成逻辑或|,或者用正则表达式简化匹配:

# 用逻辑或连接多个月份条件
fd_pri_tri = df_fresh[
    df_fresh['criacao'].str.contains('2022-01') |
    df_fresh['criacao'].str.contains('2022-02') |
    df_fresh['criacao'].str.contains('2022-03')
]

# 更简洁的正则匹配写法
fd_pri_tri = df_fresh[df_fresh['criacao'].str.contains('2022-(01|02|03)')]

方式2:转为datetime类型筛选(推荐,后续日期操作更灵活)

先将criacao列从object类型转为datetime类型,再按年份和月份筛选:

import pandas as pd

# 转换列类型
df_fresh['criacao'] = pd.to_datetime(df_fresh['criacao'])

# 筛选2022年1-3月的数据
fd_pri_tri = df_fresh[
    (df_fresh['criacao'].dt.year == 2022) &
    (df_fresh['criacao'].dt.month.isin([1, 2, 3]))
]

内容的提问来源于stack exchange,提问作者Gustavo Felippe de Oliveira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 13:45:49