为各雨量站生成包含重复日期的DataFrame结构
实现步骤
以下是将你的站点数据重构为目标格式DataFrame的代码方案:
- 导入依赖库
import pandas as pd from pandas import date_range
- 读取原始站点数据
# 替换为你的CSV文件实际路径 df_stations = pd.read_csv('your_rainfall_stations.csv')
- 生成指定日期范围的序列
生成19800101到20211231的所有日期,并格式化为8位数字字符串:
date_series = date_range(start='1980-01-01', end='2021-12-31').strftime('%Y%m%d') dates_df = pd.DataFrame(date_series, columns=['Date'])
- 生成站点与日期的笛卡尔积
通过添加辅助键实现交叉连接,让每个站点对应所有日期:
# 添加临时辅助列用于合并 df_stations['_temp_key'] = 1 dates_df['_temp_key'] = 1 # 合并后清理临时列 final_df = pd.merge(df_stations, dates_df, on='_temp_key').drop('_temp_key', axis=1) # 调整列顺序以匹配目标格式(可根据实际需求调整) final_df = final_df[['Station ID', 'Station Name', 'Latitude', 'Longitude', 'Date']]
执行完以上代码后,final_df就是你需要的DataFrame格式,每个雨量站会重复显示所有指定日期。
内容的提问来源于stack exchange,提问作者Saqif
相关产品推荐
相关产品推荐

