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

如何计算含整数与空白的Ref_r列的频率(Python Pandas)

实现方法

核心思路

value_counts() 默认仅统计数据中实际出现的值,无法自动补全1-99中未出现的数值及blank的0频率。我们需要预先定义完整的目标取值范围,再将统计结果对齐到这个范围并填充缺失值为0。

代码实现

首先读取CSV文件(若尚未读取):

import pandas as pd

# 替换为你的CSV文件路径
df = pd.read_csv('your_data.csv')

执行频率统计:

# 构建完整的目标取值列表:1到99的整数 + 'blank'
full_values = list(range(1, 100)) + ['blank']

# 统计列值频率(保留所有非空值),对齐到完整列表并填充0
frequency = df['Ref_r'].value_counts(dropna=False).reindex(full_values, fill_value=0)

# 转换为预期的表格格式
result_df = frequency.reset_index().rename(columns={'index': 'Ref_r', 'Ref_r': 'Frequency'})

# 输出结果
print(result_df)

特殊情况处理

如果CSV中的空白值是用NaN而非字符串blank存储的,需调整代码适配:

import pandas as pd
import numpy as np

df = pd.read_csv('your_data.csv')

full_values = list(range(1, 100)) + [pd.NA]
frequency = df['Ref_r'].value_counts(dropna=False).reindex(full_values, fill_value=0)

# 将NaN替换为字符串'blank'以匹配预期格式
result_df = frequency.reset_index().rename(columns={'index': 'Ref_r', 'Ref_r': 'Frequency'})
result_df['Ref_r'] = result_df['Ref_r'].replace(pd.NA, 'blank')

print(result_df)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 13:40:26