Python中DataFrame数值除法转年龄及年龄频率统计求助
实现代码
1. 计算真实年龄
采用pandas原生向量化整数除法实现,性能远高于逐行遍历,适配大数据量场景:
import pandas as pd # 你的示例数据 data = [[657776.0], [637777.0], [627747.0]] example = pd.DataFrame(data, columns = ['Age']) # 除以10000后取整得到真实年龄,转为int类型去除浮点数后缀 example['real_age'] = (example['Age'] // 10000).astype(int)
2. 统计年龄频率、提取最高频年龄
# 生成频率统计结果,默认按出现次数降序排列 age_freq = example['real_age'].value_counts().reset_index() age_freq.columns = ['年龄', '出现次数'] # 提取出现次数最多的年龄,若有多个相同最高频次的年龄会全部返回 max_freq = age_freq['出现次数'].max() most_common_ages = age_freq.loc[age_freq['出现次数'] == max_freq, '年龄'].tolist()
示例运行结果
针对你提供的测试数据,输出如下:
- 处理后的
example表:
| Age | real_age |
|---|---|
| 657776 | 65 |
| 637777 | 63 |
| 627747 | 62 |
- 频率统计结果
age_freq:
| 年龄 | 出现次数 |
|---|---|
| 65 | 1 |
| 63 | 1 |
| 62 | 1 |
- 最高频年龄
most_common_ages:[65, 63, 62]
内容的提问来源于stack exchange,提问作者Shu
相关产品推荐
相关产品推荐

