将多个csv文件读取到单个数据框中,并根据原始文件- Pandas重命名列



我有大约100个csv文件,每个文件都包含相同的三列。有几种方法可以将文件读入单个数据框,但是是否有一种方法可以将文件名附加到列名后,以便跟踪列的起源?

我现在已经尝试使用以下代码导入文件:
import glob
import os
import pandas as pd   
df = pd.concat(map(pd.read_csv, glob.glob(os.path.join('', "my_files*.csv"))))

例如,初始文件为:

"A_reduced.csv"one_answers";B_increased.csv"每个文件包含三列(Time, X, Y)

预期输出为:

<表类>时间X_A_reducedX_B_increasedY_A_reducedY_B_increasedtbody><<tr>134242

您可以在连接数据帧之前为列名添加前缀(或后缀),例如:

def f(i):
return pd.read_csv(i).add_prefix(i.split('_')[0] + '_')
df = pd.concat(map(f, glob.glob(os.path.join('', "my_files*.csv")))

相关内容

最新更新