用python实现对用户指定的数据文件,分别统计并显示总人次,男/女人数,男/女的RBC,WBC和平均值共7个统计指标
时间: 2023-06-10 15:07:27 浏览: 89
好的,首先需要明确数据文件的格式是什么,以便正确地读取数据。假设数据文件是一个csv文件,每行记录包括姓名、性别、RBC、WBC四个数值,用逗号分隔。可以用Python的csv模块来读取数据文件,然后进行统计。
下面是一个实现的示例代码:
```python
import csv
filename = input("请输入数据文件名:")
# 统计总人次、男/女人数、男/女的RBC、WBC和平均值
total_count = 0
male_count = 0
female_count = 0
male_rbc_sum = 0
male_wbc_sum = 0
female_rbc_sum = 0
female_wbc_sum = 0
with open(filename) as f:
reader = csv.reader(f)
next(reader) # 跳过第一行表头
for row in reader:
total_count += 1
gender = row[1]
rbc = float(row[2])
wbc = float(row[3])
if gender == "M":
male_count += 1
male_rbc_sum += rbc
male_wbc_sum += wbc
elif gender == "F":
female_count += 1
female_rbc_sum += rbc
female_wbc_sum += wbc
# 计算平均值
if male_count > 0:
male_rbc_avg = male_rbc_sum / male_count
male_wbc_avg = male_wbc_sum / male_count
else:
male_rbc_avg = 0
male_wbc_avg = 0
if female_count > 0:
female_rbc_avg = female_rbc_sum / female_count
female_wbc_avg = female_wbc_sum / female_count
else:
female_rbc_avg = 0
female_wbc_avg = 0
# 输出统计结果
print("总人次:", total_count)
print("男性人数:", male_count)
print("女性人数:", female_count)
print("男性平均RBC:", male_rbc_avg)
print("男性平均WBC:", male_wbc_avg)
print("女性平均RBC:", female_rbc_avg)
print("女性平均WBC:", female_wbc_avg)
```
注意,在读取csv文件时,需要使用csv.reader函数,将每行数据转换成一个列表。在这个示例中,我们使用了next函数跳过了第一行表头,因为表头不是真正的数据。
除此之外,代码主要的逻辑就是根据每行记录的性别来累加男/女人数和RBC、WBC的总和,然后再根据人数计算平均值。最后输出统计结果即可。