用python预处理提取干旱特征的数据

针对批量提取干旱特征,目前只找到matlab的代码,代码要求的数据格式跟我的数据格式不太相同,所以我选择用比较熟悉的python进行预处理。由于我是新手,所以代码可能有点复杂,但是很容易看懂。

原始数据中,时间这列格式为1980/3/1,目标格式将时间拆分为一列是年,一列是月

import pandas as pd
import os

f = 568
while f < 13611:
    point_df = pd.DataFrame()
    data_path = 'G:/Python_/ghtz/sewdi_1'
    out_path = 'G:/Python_/ghtz/data/'

f是文件名,需要对文件夹下的f.csv文件进行循环,因此每次循环都要新的dataframe表格,所以空表写在循环里面。

 if os.path.exists(data_path + "/" + str(f) + ".csv"):
        data = pd.read_csv(data_path + "/" + str(f) + ".csv")

这一步是判断文件名是否存在,如果存在则读取为data

        i = 1980
        k = 0
        while i < 2018:
            j = 3
            while j < 10:
                for index, row in data.iterrows():
                    point_df.loc[k, 'year'] = i
                    point_df.loc[k, 'month'] = j
                    point_df.loc[k, 'index'] = data.loc[k, 'EWD_calculated_index']
                k += 1
                j += 1
            i += 1
    print(str(f)+"!!!")

这里正式对时间进行循环,注意初始年月的书写位置,每次对新一年的循环,都要初始月份,不然就会判断上一次的月份,而不在范围内,导致无法进入循环。这里我的数据月份范围为3-9月,所以从3开始,到10结束.。

以上代码在写入年月的时候发现输出为1980.0、1981.0以及3.0、4.0,针对这种情况,我对代码进行以下修改

        i = 1980
        k = 0
        while i < 2018:
            j = 3
            while j < 10:
                for index, row in data.iterrows():
                    point_df.loc[k, 'year'] = '%i' % (i)
                    point_df.loc[k, 'month'] = '%i' % (j)
                    point_df.loc[k, 'index'] = data.loc[k, 'EWD_calculated_index']
                k += 1
                j += 1
            i += 1
    print(str(f)+"!!!")

符号’%i'可以对i和j进行取整,这样就可以输出正确的年月啦

    point_df.to_csv(out_path+str(f)+'.csv')
    f+=1

输出这个点的数据,并进行下一个文件的数据处理

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
数据预处理是机器学习中非常重要的一步,它包括对原始数据进行清洗、转换和归一化等操作,以便更好地使用在模型训练中。在Python中,有许多库可以帮助我们进行数据预处理特征的操作,下面是一些常用的方法: 1. 缺失值处理:常见的处理方法包括删除缺失值、填充缺失值(如均值、中位数等)、使用插值法等。在Python中,可以使用pandas库的fillna()函数来填充缺失值。 2. 特征编码:将非数值型的特征转换成数值型特征。常用的编码方法包括独热编码(One-Hot Encoding)、标签编码(Label Encoding)等。在Python中,可以使用pandas库的get_dummies()函数进行独热编码。 3. 特征缩放:将不同范围的特征值缩放到相同的范围内,以避免某些特征对模型训练的影响过大。常用的缩放方法包括标准化(Standardization)和归一化(Normalization)。在Python中,可以使用scikit-learn库的StandardScaler和MinMaxScaler类来进行特征缩放。 4. 特征选择:选择对目标变量有较强相关性的特征。常用的特征选择方法包括相关系数、方差阈值、递归特征消除等。在Python中,可以使用scikit-learn库的SelectKBest和RFE等类来进行特征选择。 5. 特征降维:将高维度的特征转换为低维度的特征,以减少特征数量和计算复杂度。常用的降维方法包括主成分分析(PCA)和线性判别分析(LDA)。在Python中,可以使用scikit-learn库的PCA和LDA类来进行特征降维。 这些是数据预处理特征的常见方法,在实际应用中根据具体情况选择合适的方法进行处理。希望对你有所帮助!如果还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值