需求分析:
1.读取表格中的提起数据,然后获得当前日期,并通过表内的出生日期计算当前年龄,表格内出生日期:20231029
2.然后根据年龄段来求人数
代码:
def teacher_age_gril(self):
# 读取表格数据,假设表格文件名为data.xlsx
data = pd.read_excel("teacher_high.xlsx", sheet_name='Sheet2')
# 获取当前日期
current_date = datetime.datetime.now()
# 计算年龄,并根据年龄范围进行分类
data['出生日期'] = data['出生日期'].astype(str)
data['出生日期'] = pd.to_datetime(data['出生日期'], format='%Y%m%d')
data['年龄'] = (current_date - data['出生日期']).dt.days // 365 # 计算年龄,以年为单位
# 创建年龄范围的标签
age_bins = [0, 29, 34, 39, 44, 49, 54, 59, 64, 200]
age_labels = ['29岁以下', '30-34岁', '35-39岁', '40-44岁', '45-49岁',
'50-54岁', '55-59岁', '60-64岁','65岁以上']
data['年龄范围'] = pd.cut(data['年龄'], bins=age_bins, labels=age_labels)
# 根据不同的条件进行筛选和统计
female_data = data[data['性别'] == '女']
# 分别计算女性性别的人数,按照不同年龄段分组
result = female_data.groupby('年龄范围').size().reset_index(name='女性人数')
# 输出女性性别的人数
print(result)
重要知识点补充:
cut知识点看:不同选课人数范围内的公共基础课和专业课程的课程数统计
female_data.groupby('年龄范围').size().reset_index(name='女性人数'):
见文章《不同学位不同学历层次下不同年龄段的人数》