如何合并同行列结构的DataFrame,提取指定城市气温时序数据?
解决方案
步骤1:导入必要库
需要用到pandas读取文件,glob批量获取文件路径:
import pandas as pd import glob
步骤2:获取所有CSV文件路径
假设所有csv文件都放在同一个文件夹(比如daily_temp_data/),用glob匹配所有.csv文件:
csv_files = glob.glob("daily_temp_data/*.csv")
步骤3:循环读取并提取目标数据
初始化空列表存储每日纽约温度数据,逐个读取文件后提取需要的行和列:
ny_temp_list = [] for file in csv_files: # 读取csv,将第一列设为行索引 df = pd.read_csv(file, index_col=0) # 提取纽约的最高温和最低温,转为Series后加入列表 ny_temp = df.loc["New York", ["Hi Temp", "Low Temp"]] ny_temp_list.append(ny_temp)
步骤4:合并为最终DataFrame
把列表中的数据合并成DataFrame,并重命名列名;如果文件名包含日期(如2024-01-01.csv),还可以设置日期索引:
# 合并所有每日数据 final_df = pd.DataFrame(ny_temp_list) # 重命名列以匹配需求格式 final_df.columns = ["New York Hi Temp", "New York Low Temp"] # 可选:如果文件名带日期,设置日期索引 # final_df.index = pd.to_datetime([f.split("/")[-1].replace(".csv", "") for f in csv_files])
查看结果
打印最终DataFrame验证结构:
print(final_df)
内容的提问来源于stack exchange,提问作者Borla312
相关产品推荐
相关产品推荐

