计算季尺度SPEI时会需要每个季确定一个值,所以需要每隔两行提取一行,重新组成新的时间序列,并保留标题行,代码如下:
import pandas as pd
import os
# 设置文件夹路径
input_folder_path = "F:/Python_2/average/3_month/data/"
output_folder_path = "F:/Python_2/average/3_month/test/"
# 遍历文件夹下的所有 csv 文件
for filename in os.listdir(input_folder_path):
if filename.endswith(".csv"):
input_file_path = os.path.join(input_folder_path, filename)
output_file_path = os.path.join(output_folder_path, filename)
# 读取 csv 文件
data = pd.read_csv(input_file_path)
# 提取标题行和指定行的数据
header = data.iloc[0]
selected_data = data.iloc[1::2]
# 将标题行添加到导出文件的开头
selected_data.insert(0, "", header)
# 导出 DataFrame 到 csv 文件
selected_data.to_csv(output_file_path, index=False)
在以下代码中,代表提取第一行作为标题行
header = data.iloc[0]
在以下代码中,1代表从第二行开始,2代表每隔两行,可根据需要修改
selected_data = data.iloc[1::2]