实验三 Pandas进行数据预处理
任务1 插补用户电量数据的缺失值。
(1)读取misssing_data.csv表中的数据。
import pandas as pd
ad_excel('D:\\桌面\\实验三\\data\\missing_data.xls')
print('数据输出为:\n',s)
(2)查询缺失值所在的位置。
import pandas as pd
ad_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_ad_excel("D:\\桌面\\实验三\\data\\missing_data.xls",names=arr)
python怎么读csv数据
print("lagrange插值前(False为缺失值所在位置)",'\n',ull())
(3)使用SciPy库中interpolate模块中的lagrange对数据进行拉格朗日插值。
(4)查看数据中是否存在缺失值,若不存在则说明插值成功。
import pandas as pd
import numpy as np
arr=np.array([0,1,2])
missing_ad_excel("D:\\桌面\\实验三\\data\\missing_data.xls",names=arr)
print("lagrange插值前(False为缺失值所在位置)",'\n',ull())
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",ull())
任务2 合并线损、用电量趋势与路线告警数据
(1)读取ele_loss.csvalarm.csv
(2)查看两表的形状。
import pandas as pd
ele_ad_csv("D:\\桌面\\实验三\\data\\ele_loss.csv")
ad_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_ad_csv("D:\\桌面\\实验三\\data\\ele_loss.csv")
ad_csv("D:\\桌面\\实验三\\data\\alarm.csv", encoding='gbk')
print("ele_loss表的形状为",ele_loss.shape)
print("alarm表的形状为",alarm.shape)
(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
ad_excel("D:\\桌面\\实验三\\data\\model.xls",encoding='gbk')
def Standard(data):
    data=(an())/data.std()
    return data
S=Standard(model)
print("标准化后的数据为:",'\n',S.head())
(3)使用函数分别对3列数据进行标准化
(4)查看标准化后的数据
import pandas as pd
ad_excel("D:\\桌面\\实验三\\data\\model.xls",encoding='gbk')
def Standard(data):
    data=(an())/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())

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。