Pandas分组含缺失日期列时索引为小数而非整数的问题咨询
Pandas分组含缺失日期列时索引为小数而非整数的问题咨询
大家好,我最近在处理Pandas日期分组统计的时候遇到了一个头疼的小问题,想过来请教下各位。
我现在需要按月份对日期列分组,统计对应数值列的计数,但发现如果分组的日期列里包含NaT或者缺失值,分组后的索引就会变成小数类型(比如7.0),而没有缺失值的列分组后索引是正常的整数(比如7),导致两组结果的索引格式不一致,后续处理起来很麻烦。
下面是我简化后的可复现代码:
import pandas as pd df = pd.DataFrame({ "A": ["2025-07-24","2025-07-24","2025-07-24"], "B": ["2025-07-24","2025-07-24",pd.NA] }, dtype="datetime64[ns]") df['values'] = [1,2,3] a_df = df.groupby([df["A"].dt.month])["values"].count() b_df = df.groupby([df["B"].dt.month])["values"].count() print(a_df) print(b_df)
运行这段代码后,a_df的索引是整数7,但b_df的索引却是7.0,多了个.0后缀,完全不符合预期。
想请教下各位大佬:
- 这种索引类型不一致的情况是什么原因导致的?
- 有没有什么靠谱的方法能让所有分组后的索引都变成整数类型,或者至少保证所有结果的索引类型统一?
内容来源于stack exchange
相关产品推荐
相关产品推荐

