一. 简答题(共2题,100分)
-
(简答题)
数据清洗和填充1)从studentsInfo.xlsx 文件的“Group1”表单中读取数据;
2)将“案例教学”列数据值全改为NaN;
3)滤除每行数据中缺失3项以上(包括3项)的行;
4)滤除值全部为NaN的列;
5)使用列的平均值填充“体重”和“成绩”列的NaN数据;
6)使用上一行数据填充“年龄”列的NaN数据;
7)使用“中位数”填充“生活费用”NaN数据。
studentsInfo.xlsx
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
# 1)
dT = pd.read_excel('C:\\python\\studentsInfo.xlsx','Group1',index_col=0)
print(dT)
# 2)
dT['案例教学'] = np.nan
print(dT)
# 3)
dT=dT.dropna(thresh=7)
print(dT)
# 4)
dT=dT.dropna(axis=1,how='all')
print(dT)
# 5)
dT.fillna({'体重': dT['体重'].mean(),'成绩': dT['成绩'].mean() },inplace=True)
print(dT)
# 6)
dT['年龄'].fillna(method='ffill',inplace=True)
print(dT)
# 7)
dT.fillna({'年龄':dT['年龄'].median()},inplace=True)
print(dT)
- (简答题)
数据合并与排序
1)从studentsInfo.xlsx的“Group3”页读取数据,将序号、性别、年龄项保存到data1对象;
2)从studentsInfo.xlsx的“Group3”页读取数据,将序号、身高、体重、成绩项保存到data2对象;
3)将data2合并到data1中,连接方式为内连接。
4)按月生活费对数据升序排序;
5)按身高对数据降序排名,并列取值方式设置为min。
import numpy as np
import pandas as pd
from pandas import Series,DataFrame
# 1)
data = pd.read_excel('C:\\python\\studentsInfo.xlsx','Group3',index_col=None)
data1 = data.loc[:,['序号','性别','年龄']]
print(data1)
# 2)
data2 = data.loc[:,['序号','身高','体重','成绩']]
print(data2)
# 3)
data1=pd.merge(data1,data2,how='inner')
print(data1)
# 4)
data3=data.sort_values(by='月生活费',ascending=True)
print(data3)
# 5)
data['身高并列']=data['身高'].rank(ascending=True,method='min')
data4=data.sort_values(by='身高并列',ascending=False)
data4=data4.drop('身高并列',axis=1)
print(data4)