《Python数据分析与应用》实验三 Pandas进行数据预处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三 Pandas进行数据预处理

任务1 插补用户电量数据的缺失值。

(1)读取misssing_data.csv表中的数据。

import pandas as pd

s=pd.read_excel('D:\\桌面\\实验三\\data\\missing_data.xls')

print('数据输出为:\n',s)

(2)查询缺失值所在的位置。

import pandas as pd

s=pd.read_excel('D:\\桌面\\实验三\\data\\missing_data.xls')

print('缺失值的位置为:\n',s.isnull().sum())

import pandas as pd

import numpy as np

arr=np.array([0,1,2])

missing_data=pd.read_excel("D:\\桌面\\实验三\\data\\missing_data.xls",names=arr) print("lagrange插值前(False为缺失值所在位置)",'\n',missing_data.notnull())

(3)使用SciPy库中interpolate模块中的lagrange对数据进行拉格朗日插值。

(4)查看数据中是否存在缺失值,若不存在则说明插值成功。

import pandas as pd

import numpy as np

arr=np.array([0,1,2])

missing_data=pd.read_excel("D:\\桌面\\实验三\\data\\missing_data.xls",names=arr)

print("lagrange插值前(False为缺失值所在位置)",'\n',missing_data.notnull())

from scipy.interpolate import lagrange

for i in range(0,3):

la=lagrange(missing_data.loc[:,i].dropna().index,missing_data.loc[:,i].dropna().values) list_d=list(set(np.arange(0,20)).difference(set(missing_data.loc[:,i].dropna().index))) missing_data.loc[list_d,i]=la(list_d)

print("第%d列缺失值的个数为:%d"%(i,missing_data.loc[:,i].isnull().sum()))

print("lagrange插值后(False为缺失值所在位置)\n",missing_data.notnull())

任务2 合并线损、用电量趋势与路线告警数据

(1)读取ele_loss.csv和alarm.csv表。

(2)查看两表的形状。

import pandas as pd

ele_loss=pd.read_csv("D:\\桌面\\实验三\\data\\ele_loss.csv")

alarm=pd.read_csv("D:\\桌面\\实验三\\data\\alarm.csv", encoding='gbk')

print("ele_loss表的形状为",ele_loss.shape)

print("alarm表的形状为",alarm.shape)

(3)以ID和date两个键值作为主键进行内连接。

(4)查看合并后的数据。

import pandas as pd

ele_loss=pd.read_csv("D:\\桌面\\实验三\\data\\ele_loss.csv")

alarm=pd.read_csv("D:\\桌面\\实验三\\data\\alarm.csv", encoding='gbk')

print("ele_loss表的形状为",ele_loss.shape)

print("alarm表的形状为",alarm.shape)

merge=pd.merge(ele_loss,alarm,left_on=["ID","date"],right_on=["ID","date"],how="inner") print("合并后的表形状为:",merge.shape)

print("合并后的表为:",merge)

任务3标准化建模专家样本数据

(1)读取model.csv数据。

(2)定义标准差标准化函数。

import pandas as pd

model=pd.read_excel("D:\\桌面\\实验三\\data\\model.xls",encoding='gbk') def Standard(data):

data=(data-data.mean())/data.std()

return data

S=Standard(model)

print("标准化后的数据为:",'\n',S.head())

(3)使用函数分别对3列数据进行标准化。

(4)查看标准化后的数据

import pandas as pd

model=pd.read_excel("D:\\桌面\\实验三\\data\\model.xls",encoding='gbk') def Standard(data):

data=(data-data.mean())/data.std()

return data

S=Standard(model)

print("标准化后的数据为:",'\n',S.head())

def MinMaxScale(data):

data=(data-data.min())/(data.max()-data.min())

return data

M=MinMaxScale(model)

print("离差标准化后的数据为:",'\n',S.head())

相关文档
最新文档