You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将包含多组数据的CSV文件导入并生成不同的pandas DataFrame

处理方案

1 修正CSV读取逻辑,避免字段名丢失

你之前设置header=6时,若第7行(pandas行索引从0开始计数)的首个字段为空,就会导致nom du point distant字段名丢失,可通过手动指定列名的方式规避该问题,同时读取时自动处理时间格式:

import pandas as pd

# 手动指定列名,保证字段不会丢失
col_list = ["nom du point distant", "Date", "Valeur"]

data_adms = pd.read_csv(
    full_path,
    sep=";",
    skiprows=6,  # 跳过前6行的文件说明内容
    names=col_list,
    parse_dates=["Date"],  # 读取时直接将Date列转为时间格式
    infer_datetime_format=True,  # 自动识别不同格式的时间戳
    dayfirst=True  # 若时间为日/月/年的欧洲格式,添加该参数避免解析错误
)

2 统一处理异常时间戳

如果仍存在时间解析失败的情况,用以下代码强制转换并清除无效数据:

# 无法解析的时间统一设为空值后删除
data_adms["Date"] = pd.to_datetime(data_adms["Date"], errors="coerce")
data_adms = data_adms.dropna(subset=["Date"])
# 全局设置Date为索引
data_adms = data_adms.set_index("Date")

3 拆分生成三个独立DataFrame

按需求筛选对应点位数据即可:

target_vars = [
    "BEL AIR - feeder_30 - MANGUIER",
    "BEL_TC_30_TR3_MW",
    "BEL AIR - feeder_30 - MTOA"
]

# 生成字典存储三个DataFrame,可直接通过点位名取值
var_df = {}
for var in target_vars:
    var_df[var] = data_adms.loc[data_adms["nom du point distant"] == var, ["Valeur"]].copy()

内容的提问来源于stack exchange,提问作者Thomas LESIEUR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:24:03