如何统计存入Excel的Python随机数1-6出现次数并转换为百分比?
统计1-6出现次数及百分比的实现方案
你的现有代码可以生成随机数并保存到Excel,要实现1-6的次数统计和百分比计算,可按以下方式修改代码:
import pandas as pd import random # 生成0-6随机数列表(共10个) data = [random.randint(0,6) for _ in range(10)] df = pd.DataFrame(data, columns=['随机数']) # 统计1-6每个数字的出现次数,未出现的数字补0 num_counts = df['随机数'].value_counts().reindex(range(1,7), fill_value=0) # 计算百分比,保留两位小数 num_percentages = (num_counts / len(data)) * 100 num_percentages = num_percentages.round(2) # 打印统计结果 print("1-6各数字出现次数:") print(num_counts) print("\n1-6各数字出现百分比(%):") print(num_percentages) # 原始数据保存到Excel df.to_excel(r'H:\\Grade10\\Cs\\Mir Hussain 12.00.00 3.xlsx', index=False)
关键代码说明
value_counts():快速统计DataFrame中各数值的出现频次reindex(range(1,7), fill_value=0):强制覆盖1到6的所有数字,避免遗漏未出现的数字,缺失项补0- 百分比计算:通过「单数字次数/总样本数×100」得到占比,
round(2)控制小数位数
如果需要把统计结果也存入Excel的不同工作表,可添加这段代码:
# 构建统计结果的DataFrame stats_df = pd.DataFrame({ '数字': num_counts.index, '出现次数': num_counts.values, '百分比(%)': num_percentages.values }) # 写入同一个Excel文件的不同sheet with pd.ExcelWriter(r'H:\\Grade10\\Cs\\Mir Hussain 12.00.00 3.xlsx') as writer: df.to_excel(writer, sheet_name='原始随机数', index=False) stats_df.to_excel(writer, sheet_name='统计结果', index=False)
内容的提问来源于stack exchange,提问作者HussainMir
相关产品推荐
相关产品推荐

