陵水县建设局网站,首饰设计网站推荐,如何提升网站pr值,做企业网站需要注意哪些Pandas统计分析基础数据堆叠数据清洗一.合并数据#xff1a;获取完整的数据集。1.读取数据2.将两个csv文件按照mete.csv文件的日期对齐3.纵向合并数据data1与data24.使用drop_duplicates()函数去除重复值二.异常值处理#xff1a;去除data3中GPP中的异常点1.根据3σ原则检测异…
Pandas统计分析基础数据堆叠数据清洗一.合并数据获取完整的数据集。1.读取数据2.将两个csv文件按照mete.csv文件的日期对齐3.纵向合并数据data1与data24.使用drop_duplicates()函数去除重复值二.异常值处理去除data3中GPP中的异常点1.根据3σ原则检测异常值去除异常点记录三.3 对GPP进行神经网络建模1.划分数据集手动划分随机划分数据标准化处理增加新的一列来存储数据数据 链接https://pan.baidu.com/s/1-E2ShVTdI0X5lwDtMLFFsQ 提取码0929
一.合并数据获取完整的数据集。
1.读取数据
#数据所在的文件
metepath./part/mete10-14.csv
vipath./part/vi10-14.csv
# 读取数据
data_metepd.read_csv(metepath)
data_vipd.read_csv(vipath)
2.将两个csv文件按照mete.csv文件的日期对齐
按日期行向合并part文件夹下的两个csv这两个文件日期范围不同按照mete.csv文件的日期对齐合并后的数据命名为data1
# 按日期行向合并part文件夹下的两个csv按照mete.csv文件的日期对齐
# br/合并后的数据命名为data1
# br/若合并后的数据中有无效值则使用无效值其所在列的平均值填充。
data1pd.merge(data_mete,data_vi,onDate,howleft)
data1[Date]pd.to_datetime(data1[Date])
data1data1.fillna({NDVI:np.mean(data1[NDVI]),EVI:np.mean(data1[EVI])})
3.纵向合并数据data1与data2
# 读取comb下面的csv文件命名为data2
# br/纵向堆叠合并data1和data2
# br/堆叠之后需要去除重复数据得到的数据命名为data3。
combpath./comb/data04-10.csv
data2pd.read_csv(combpath)
#将日期转化为标准日期格式
data2[Date]pd.to_datetime(data2[Date])#纵向堆叠合并data1和data2
data3pd.concat([data1,data2],axis0)
data3[Date]pd.to_datetime(data3[Date])4.使用drop_duplicates()函数去除重复值
去除重复值并且按照日期重新排序
#data1和data2中具有重复的数据堆叠之后需要去除重复数据这一步得到的数据命名为data3
data3data3.drop_duplicates()
#更改数据的排序方式按照日期从小到大排
data3.sort_values(by Date,inplaceTrue)二.异常值处理去除data3中GPP中的异常点
1.根据3σ原则检测异常值去除异常点记录
# 根据3σ原则检测GPP中的异常值从data3中去除异常点记录
#数值分布在μ-3σ,μ3σ)中的概率为0.9974
#可以认为Y 的取值几乎全部集中在μ-3σ,μ3σ)]区间内超出这个范围的可能性仅占不到0.3%。
print(去除异常值)
gpp_maxdata3[GPP].mean()3*data3[GPP].std()
gpp_mindata3[GPP].mean()-3*data3[GPP].std()
data3data3.loc[(data3[GPP]gpp_min)(data3[GPP]gpp_max),: ]三.3 对GPP进行神经网络建模
使用2010年及以前的数据作为训练集2010年以后的数据作为测试集,使用训练数据训练模型测试数据仅用于测试模型 将TA、VPD、RG、NDVI、EVI列作为特征(输入)将GPP列作为标签(输出)
1.划分数据集
手动划分
traindata3.loc[data3[Date].dt.year2010].copy()
testdata3.loc[data3[Date].dt.year2010].copy()
x_traintrain[[TA,VPD,RG,NDVI,EVI]]
y_traintrain[[GPP]]
x_testtest[[TA,VPD,RG,NDVI,EVI]]
y_testtest[[GPP]]
随机划分 from sklearn.model_selection import train_test_split #在机器学习中该函数可按照用户设定的比例#随机将样本集合划分为训练集 和测试集#并返回划分好的训练集和测试集数据
数据标准化处理
建模之前要对所有输入数据标准化标准化方式使用标准差标准化两个数据集的标准化过程中均使用训练集变量的平均值和方差
#3 建模之前要对所有输入数据标准化标准化方式使用标准差标准化两个数据集的标准化过程中均使用训练集变量的平均值和方差
from sklearn.preprocessing import StandardScaler
# 将训练集和测试集数据进行标准差标准化
scalerStandardScaler()
x_trscaler.fit_transform(x_train.values)
y_trscaler.fit_transform(y_train.values.reshape(-1,1)).ravel()
x_tescaler.fit_transform(x_test.values)
y_tescaler.fit_transform(y_test.values.reshape(-1,1)).ravel()增加新的一列来存储数据
#对处于不同气温区间的数据进行标记
#1 将气温划分成4个级别very_low, low, normal, high他们的温度范围为
#增加新一列为温度的水平
test.loc[(test[TA]-10) (test[TA]0),TA_Level]very_low
test.loc[(test[TA]0) (test[TA]10),TA_Level]low
test.loc[(test[TA]10) (test[TA]20),TA_Level]normal
test.loc[(test[TA]20) (test[TA]30),TA_Level]high
train.to_csv(test6_train.csv,indexFalse)
test.to_csv(test6_test.csv,indexFalse)