dhu 数据科学与技术 第4次作业

一. 简答题(共2题,100分)

  1. (简答题)
    数据清洗和填充

    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. (简答题)
    数据合并与排序

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)

你可能感兴趣的:(python,dhu,python,机器学习,pandas)