如何使用Pandas对房产销售数据按SALE_DATE字段的年份分组计数
解决方法
步骤1:完成日期类型转换
你之前的链式赋值会把转成日期格式的整列SALE_DATE同时赋值给by_year,无法得到分组统计结果,先单独完成日期格式转换:
import pandas as pd # 将SALE_DATE列从字符串格式转为日期格式 property_prices['SALE_DATE'] = pd.to_datetime(property_prices['SALE_DATE'])
步骤2:按年份分组统计销售数量
两种常用实现方式可以选:
方式1:先提取年份列再分组(适合后续还要用年份做其他分析的场景)
# 从日期中提取年份单独存为一列 property_prices['SALE_YEAR'] = property_prices['SALE_DATE'].dt.year # 按年份分组,统计每组行数即对应年份的销售数量 sale_count_by_year = property_prices.groupby('SALE_YEAR', as_index=False).size() # 重命名计数列提升可读性 sale_count_by_year = sale_count_by_year.rename(columns={'size': '销售数量'}) print(sale_count_by_year)
方式2:分组时直接提取年份(不需要额外存储年份列)
sale_count_by_year = property_prices.groupby(property_prices['SALE_DATE'].dt.year, as_index=False).size() sale_count_by_year = sale_count_by_year.rename(columns={'SALE_DATE': '销售年份', 'size': '销售数量'}) print(sale_count_by_year)
输出示例
以你提供的测试数据为例,最终输出结果如下:
销售年份 销售数量 0 2010 5
内容的提问来源于stack exchange,提问作者dvdlwlr
相关产品推荐
相关产品推荐

