- 博客(19)
- 收藏
- 关注
原创 python批量创建文件夹
如何在一个大文件夹中创建有命名规律的文件夹?比如我需要命名tau_1、tau_2...的文件夹,可以使用以下代码。使用时根据需要修改“tau_"以及序号的起止值即可。
2024-01-15 11:18:49
353
原创 python批量每隔两行提取csv文件
在以下代码中,1代表从第二行开始,2代表每隔两行,可根据需要修改。在以下代码中,代表提取第一行作为标题行。
2024-01-14 20:02:14
412
1
原创 python不占用第一行数据对列命名
使用时将source_folder_path修改为自己的原始文件夹,target_folder_path为输出文件夹,列名也按需修改。
2024-01-08 17:32:17
381
原创 python批量删除某一列
使用的话只需要更改输入和输出的文件夹路径,以及需要删除的是第几行,如果是第一列则为row[0],第二列则为row[1]...
2024-01-08 17:23:46
438
1
原创 python对csv文件批量增加一列数据
但是要想批量修改时间的格式非常麻烦,所以我先将第一个文件中的时间改成正确格式,然后批量复制到其他文件中。
2024-01-08 17:10:27
701
1
原创 python将nc文件格式的气象数据转为csv格式的月数据
mean是因为我要对全流域进行平均,以便作出该气象因子的年际变化折线图。最近需要将气象nc转为csv数据,但是网上的程序太复杂了不适合新手。
2023-08-13 21:18:48
752
1
原创 python跳过Nah值
判断如果data_1中列名为E的第一行为空值,那就跳过这个文件了因为再继续后续计算就没有意义。这个时候需要自己确定每个文件固定哪行是没有值的,然后判断那个位置即可。近期在写处理研究区的数据,在对经纬度遍历循环的时候遇到有些经纬度不存在的情况,这时候就需要写程序判断是否存在,不存在则跳过.以上省略了前后的计算步骤。这里的数据格式为nc。下面写一个csv的。
2023-08-13 20:56:04
118
1
原创 arcgis提取研究区的点数据
一、经度118~132、纬度42~50的表格,分辨率为0.1°,每个点对应一个point_name(此为后续连接数据的依据)。表格的存储格式应该为97-2003(这样才能导入arcgis)新建一个excel粘贴就好啦,之后绘图只需要导入刚刚的裁剪.shp,就可以绘图了,如何绘制分布图请看下一篇。表格数据也可用于其他数据处理过程,只需处理研究区内的点,可以大大减少工作量。将数据转为shp,坐标系选择GCS_WGS_1984。裁剪后如下图,只剩下研究区内的点,接下来导出。如光标所示,打开属性表后,选择全选。
2023-08-09 10:57:57
1194
1
原创 python从全国数据中截取研究区数据
拿到了全国的NDVI数据,但数据量庞大,不利于处理,所以写了以下代码将数据筛选出一定经纬度范围内,再进行后续研究。为什么有两个代码,是因为在读取数据的时候,1-9月和10-12月的识别方式不同,但我没有学会解决方法,只能分两部分提取。表格中0、1、2列分别代表纬度、经度、NDVI值。
2023-08-09 10:21:17
133
1
原创 多个站点干旱特征提取以及后处理
由此得出每个站点的干旱特征(每个csv文件名代表一个站点名),但需要将多个站点汇总进行arcgis画图,还需要以下代码。在提取干旱特征时往往采用游程理论法,而我没有找到合适的python包,只能用广泛使用的matlab游程理论的方法,参考。对于干旱频率则需要先筛选index
2023-08-09 09:58:36
534
8
原创 将月数据整合为年数据
先提取了一月的数据为data_1,之后的数据都存储到这里。我的数据文件名为198201,但我不会写代码使得设定的month是01、02、03的格式,所以我选择个位数和十位数分开写,以下是2-9月的代码。在str(month)前加上0就可以解决我的问题。当然有更简单的方法,希望我以后能学会。这一步是将data_1和data_2合并,继续循环并导出第一年的数据。10月到12月的循环把0删掉即可。以下为10-12月的完整代码。读取文件后将sv文件中列名为’2‘的读取到data_2中,这列就是我需要的数据。
2023-08-01 18:57:03
1282
1
原创 mat格式转csv格式
看起来很复杂,因为我的数据比较多,是月数据,所以需要写while循环读取。但是文件格式为198201、198202...这样的格式在读取的时候就比较麻烦了。比如以下我定义time_index为年+月,这样的话就会产生19821、19822...就不会自动加0,导致报错文件不存在。代码中有很多str和int,是因为一直报格式的错误,其中原因我是初学者不是很了解,但最终能解决就好。使用的库包是scipy,可以用conda进行安装。所以我增加了一个判断语句,如果month的长度为1,则在前面增加0。
2023-08-01 17:10:01
601
1
原创 tif格式转nc格式
在计算过程中,需要根据gis里对于土地利用的不同类型对应不同的计算公式,所以我先导出为tif文件再转为nc文件。osgeo文件可以用conda安装。
2023-08-01 16:42:30
1742
1
原创 用python预处理提取干旱特征的数据
这里正式对时间进行循环,注意初始年月的书写位置,每次对新一年的循环,都要初始月份,不然就会判断上一次的月份,而不在范围内,导致无法进入循环。针对批量提取干旱特征,目前只找到matlab的代码,代码要求的数据格式跟我的数据格式不太相同,所以我选择用比较熟悉的python进行预处理。f是文件名,需要对文件夹下的f.csv文件进行循环,因此每次循环都要新的dataframe表格,所以空表写在循环里面。原始数据中,时间这列格式为1980/3/1,目标格式将时间拆分为一列是年,一列是月。
2023-08-01 16:32:14
251
1
原创 python将多个csv数据提取到新的csv中
定义一个空的表格,pointlocation.csv中有点名point_name,和每个点对应的经度和纬度。为了将所有点的数据识别对应的point_name填进新的表格里。新的数据表格中第一列命名为point_name即点名,也是data_path下的文件名;第四列为所需数据,从data_1中提取。每个点文件均在data_path的路径下。if语句为判断文件名是否存在,因为i是递增的,但是有些点不存在。为了将每个站点的数据整合到一个文件中,且按照文件名为点名,以对应经纬度进行绘图,写了以下代码。
2023-08-01 16:07:16
223
1
原创 采用standard-precip计算SPEI
scale=1,结合前面的‘M’代表以一个月为尺度计算,三个月即为3,年尺度则为12;dist_type代表拟合类型,SPEI可选择Generalised Logistic,对应的代码为‘glo’,该拟合方式的fit_type只能是‘mle’。这一步的原因是该库包不允许出现空值,但我的降雨数据有缺失,所以采用math.isnan进行查找,如果该站点有空值,直接跳过到下一个站点。这一步开始计算,根据spei的原理先计算出降雨与蒸散的差值,‘rain’和‘PET’要看文件里具体对应的名称。
2023-08-01 11:18:26
291
3
原创 python将每个文件夹的同名数据提取到一起并按时间排序
这一步的目的是由于提取的时候是先提取所有年份的3月,再提取所有年的4月,即1980-3、1981-3、1982-3...但我需要一年所有月份在一起,在进行下一年,如1980-3、1980-4...所有对time这一列进行重新排序。每个文件夹代表一个月份,即3月、4月、5月、6月、7月、8月、9月。将3456789月的i.csv文件分别提取出来,为data_3、data_4...以此类推,输出路径为out_path。这一步的目的是提取data_new中的三列,其他无关紧要的数据就不要了。
2023-08-01 10:52:36
153
1
原创 python将文件夹下所有csv文件按列合并到第一个文件中
第一个文件的名称为568.csv,之后依次增加,将大于568的所有文件中某一列的数据都存储到568.csv中,读取568.csv到data_0中。循环当i
2023-08-01 10:32:45
186
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人