Pandas DataFrame按列统计值出现次数并替换原数值的实现
Pandas DataFrame按列替换值为对应列出现次数实现方案
完整可运行代码
import pandas as pd data = ([1, 1], [2, 3], [4, 5], [1, 2], [3, 4], [3, 2]) df = pd.DataFrame(data) # 核心替换逻辑 df = df.apply(lambda col: col.map(col.value_counts())) print(df)
运行输出
0 1 0 2 1 1 1 1 2 1 1 3 2 2 4 2 1 5 2 2
逻辑说明
- 调用
apply()对DataFrame逐列遍历处理 - 对每一列先执行
value_counts()生成「值:出现次数」的映射表 - 调用
map()将列中每个原值替换为映射表中对应的次数值
内容的提问来源于stack exchange,提问作者Scott Woodhall
相关产品推荐
相关产品推荐

