如何使用列名 + 文件名格式自动重命名 python 数据框的列

How to automate rename columns of a python Dataframe with the format column name + filename

我有很多 CSV 文件,我想重命名每个文件的每一列。例如,CSV 文件有一个名为 "wind" 的列,我想将其自动转换为:wind_Dar。 (Dar 是一个文件的名称)所以换句话说,我希望每个文件的每一列都有标签 "column name"_"currentFilename"

这是我的代码:

path = ".../As-Pre-" 
path_previsions = ["Dar.csv","Ope.csv","Wea.csv", "Wun.csv"] 
path_observations = ".../As-Ob.csv"
def get_forecast(path, path_pre, path_ob):
    list_data = []
    for forecaster in path_pre:
        dataframe = pd.read_csv(path + forecaster, sep=";").dropna(subset=["temperature"])
        dataframe["time"] = dataframe["time"].apply(lambda x: str(x).split(":")[0])
        dataframe = dataframe.groupby(['time']).mean()
        dataframe = dataframe.rename(index=str, columns={"humidity": "humidity_Y", "precipitation": "precipitation_Y",
                                    "temperature":"temperature_Y"})

        list_data.append(dataframe)

我不确定您的代码哪里出错了。但是这里有一种简单的方法可以使用列表理解以您想要的方式重命名列:

dataframe.columns = [x + forecaster.split('.')[0] for x in dataframe.columns]