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

如何在R语言中分别统计多列中特定值的出现次数?

批量统计CSV各列指定值的出现频率

直接用Python的pandas就能实现批量统计,以下是针对需求的完整代码示例:

import pandas as pd

# 读取你的CSV文件,替换成实际文件路径
df = pd.read_csv('your_data.csv')

# 替换成你要统计的目标值
target_val = "目标值"

# 构建结果存储结构
stats_result = {
    '列名称': [],
    '出现次数': [],
    '出现频率': []
}

# 遍历每一列统计
for column in df.columns:
    # 统计目标值出现次数,不存在则返回0
    val_count = df[column].value_counts().get(target_val, 0)
    # 计算频率(次数/总行数)
    val_freq = val_count / len(df)
    # 存入结果
    stats_result['列名称'].append(column)
    stats_result['出现次数'].append(val_count)
    stats_result['出现频率'].append(round(val_freq, 4))  # 保留4位小数

# 转换为DataFrame
result_df = pd.DataFrame(stats_result)
# 可以直接打印或保存到文件
print(result_df)
# result_df.to_csv('frequency_stats.csv', index=False)

如果需要统计所有值的出现频率(而非单个值),可以用这段代码:

import pandas as pd

df = pd.read_csv('your_data.csv')
# 遍历每一列生成统计结果,合并成一个大的DataFrame
all_stats = []
for column in df.columns:
    col_stats = df[column].value_counts(normalize=True).reset_index()
    col_stats.columns = ['值', '出现频率']
    col_stats['列名称'] = column
    all_stats.append(col_stats)

final_df = pd.concat(all_stats, ignore_index=True)
print(final_df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:45:48