Я перебираю ежемесячные данные метеостанции. Я могу объединить файлы следующим образом:
path = r"D:\NOAA\output\TEST"
all_files = glob.glob(path + "/*.csv")
for filename in all_files:
print filename # prints D:\NOAA\output\TEST\189501.tave.conus.csv
df = (pd.read_csv(f) for f in all_files)
concatenated_df = pd.concat(df, axis=1, join='inner')
Что приводит к следующему кадру данных:
lat lon temp lat lon temp lat lon temp
0 24.5625 -81.8125 21.06 24.5625 -81.8125 17.08 24.5625 -81.8125 22.42
1 24.5625 -81.7708 21.06 24.5625 -81.7708 17.08 24.5625 -81.7708 22.47
2 24.5625 -81.7292 21.06 24.5625 -81.7292 17.08 24.5625 -81.7292 22.47
3 24.5625 -81.6875 21.05 24.5625 -81.6875 17.04 24.5625 -81.6875 22.47
4 24.6042 -81.6458 21.06 24.6042 -81.6458 17.08 24.6042 -81.6458 22.45
Столбцы lat
и lon
идентичны, поэтому я бы хотелотбросьте эти дубликаты столбцов. Столбцы temp
уникальны для каждого ежемесячного файла CSV. Я хочу сохранить все из них, но также дать им значимые имена столбцов, взятые из имени файла, то есть:
lat lon temp185901 temp185902 temp185903
0 24.5625 -81.8125 21.06 17.08 22.42
1 24.5625 -81.7708 21.06 17.08 22.47
2 24.5625 -81.7292 21.06 17.08 22.47
3 24.5625 -81.6875 21.05 17.04 22.47
4 24.6042 -81.6458 21.06 17.08 22.45
Я новичок в Pandas (это кажется потрясающим, но это много для поглощения), Буду признателен за любую помощь. Я думаю, что решения находятся в параметрах, которые я использую для .concat()
, .duplicate()
и .loc()
.
Пример данных: ftp: //ftp.commissions.leg.state. mn.us/pub/gis/Temp/NOAA/