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

Pandas DataFrame中高效统计观测值方法咨询:酒店客源国计数场景

实现方法

针对千万级数据的分组计数需求,直接使用Pandas原生向量化操作即可,性能远高于手动for循环,实现方式如下:

方法1:groupby + transform(最便捷)

直接对双字段分组后使用transform把计数映射回原DataFrame的对应行,一行代码即可完成:

import pandas as pd
# 假设你的原始DataFrame变量名为df
df['Count'] = df.groupby(['Hotel name', 'Country'])['Country'].transform('count')

方法2:分组映射(内存更友好)

如果内存资源紧张,可先生成分组计数字典再映射,减少中间过程的内存占用:

# 生成酒店+国家对应的计数映射表
count_map = df.groupby(['Hotel name', 'Country']).size().to_dict()
# 把计数映射到原表
df['Count'] = df.set_index(['Hotel name', 'Country']).index.map(count_map)

性能说明

上述两种方法均基于Pandas底层C实现的运算逻辑,处理1000万条数据通常仅需要数秒到十余秒,比纯Python for循环效率高出数百倍。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:54:02