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

如何在R语言中为dataframe添加频数统计列

高效实现DataFrame添加频数列的方法

针对你的需求,这里提供两种高效的Pandas实现方式:

方法1:保留原DataFrame所有行,添加对应频数

如果你需要在原数据的每一行旁边标注该长度的出现次数,可以用groupby结合transform,这是效率很高的向量式操作:

import pandas as pd

# 构造示例数据
df = pd.DataFrame({'Length': [1.2, 3.5, 3.6, 3.6]})

# 添加频数列
df['Count'] = df.groupby('Length')['Length'].transform('count')

执行后原DataFrame会变成:

Length  Count
0     1.2      1
1     3.5      1
2     3.6      2
3     3.6      2

方法2:生成去重后的频数统计结果

如果想要得到你示例中去重后的结果(每个唯一长度对应一行频数),直接用value_counts()即可,这是Pandas专门为频数统计优化的方法:

# 统计频数并转换为DataFrame
count_df = df['Length'].value_counts().reset_index()
# 修改列名匹配需求
count_df.columns = ['Length', 'Count']
# 可选:按Length排序(和示例输出一致)
count_df = count_df.sort_values('Length').reset_index(drop=True)

输出结果:

Length  Count
0     1.2      1
1     3.5      1
2     3.6      2

两种方法都是基于Pandas的内置优化操作,效率远高于循环统计,其中value_counts()在单纯统计唯一值频数时性能最优。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:55:17