练习作业

请到网站 (http://pylab.club/Thread/210.html) 下载数据:

1.从给定的数据中提取自己的数据:按照学号后两位对应数据的序号即为个人数据。
2.从数据中提取出自己的生日。
3.计算出班上男女数以及男女比例。
4.统计出班上族别数据。

一、提取自己的数据

In [1]:
import pandas as pd
path = r"c:\Users\Lenovo\Downloads\20221014190846_2519.xlsx"  # 注意你的文件路径
df = pd.read_excel(path)

按照学号后两位对应数据的序号即为个人数据,提取自己的数据。

print(df.head(),"\n\n",df.tail())
In [2]:
my_number = input("我的数据序号:")
我的数据序号:96
In [3]:
my = df.iloc[int(my_number)]
my
Out[3]:
学号                                   97
性别                                    男
出生日期                2000-07-12 00:00:00
民族                                   汉族
评价      很好的培养了逻辑思维。学习了python语言,提高了代码能力。
提交时间                2021-10-22 15:48:31
Name: 96, dtype: object
In [4]:
my
Out[4]:
学号                                   97
性别                                    男
出生日期                2000-07-12 00:00:00
民族                                   汉族
评价      很好的培养了逻辑思维。学习了python语言,提高了代码能力。
提交时间                2021-10-22 15:48:31
Name: 96, dtype: object

二、提取自己的生日

In [5]:
birthday = str(my.出生日期)[6:11]
birthday
Out[5]:
'7-12 '

三、统计班级男女数及男女比例

In [6]:
df.groupby("性别").sum()
Out[6]:
学号
性别
1613
3140
In [7]:
print("男女比例:","%.2f"%(1613/3140))
男女比例: 0.51

四、统计班级族别数据

In [8]:
df.groupby("民族").sum()
Out[8]:
学号
民族
低头族 10
土家族 60
壮族 61
彝族 17
2537
汉族 1526
93
73
99
黎族 277
In [9]:
mz = set(df.民族.to_list())
mz
Out[9]:
{'低头族', '土家族', '壮族', '彝族', '汉', '汉族', '男', '苗', '黎', '黎族'}
In [10]:
zb = []
for i in df.民族:
    if i == '汉':
        zb.append("汉族")
    elif i== '黎':
        zb.append('黎族')
    else:
        zb.append(i)
zb
Out[10]:
['汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '低头族',
 '黎族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '彝族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '黎族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '黎族',
 '汉族',
 '汉族',
 '黎族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '土家族',
 '壮族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '苗',
 '汉族',
 '汉族',
 '黎族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '汉族',
 '黎族',
 '汉族',
 '汉族',
 '汉族',
 '黎族',
 '男',
 '汉族',
 '汉族',
 '汉族',
 '汉族']
In [11]:
df["民族"]=zb
df
Out[11]:
学号 性别 出生日期 民族 评价 提交时间
0 1 2000-05-30 汉族 应该开课早一点 2021-09-30 09:15:04
1 2 2000-12-05 汉族 本课程对我们来说很重要 要认真学好 2021-09-30 09:19:45
2 3 1997-06-04 汉族 不太习惯网页端编程 2021-09-30 09:19:59
3 4 2000-04-16 汉族 2021-09-30 09:37:21
4 5 2000-02-08 汉族 小练习挺好的 2021-09-30 09:50:44
... ... ... ... ... ... ...
92 93 2000-11-20 设置在大四不合理 占用很多时间 2021-10-19 14:57:36
93 94 2000-08-05 汉族 2021-10-22 02:42:37
94 95 2000-04-07 汉族 2021-10-22 15:10:16
95 96 2000-10-14 汉族 2021-10-22 15:47:50
96 97 2000-07-12 汉族 很好的培养了逻辑思维。学习了python语言,提高了代码能力。 2021-10-22 15:48:31

97 rows × 6 columns

In [12]:
df.groupby("民族").sum()
Out[12]:
学号
民族
低头族 10
土家族 60
壮族 61
彝族 17
汉族 4063
93
73
黎族 376
In [ ]: