在循环Pandas中连接数据帧的列

时间:2018-05-14 14:11:01

标签: python pandas

我有一个csv文件的数据集,其中有两列:波长和吸光度值。

我想在循环中进行一些统计分析,循环包含一组文件,例如具有标准偏差等的平均吸光度文件。

body

我的问题是如何从每个文件中“连接”'Abs'列,然后对它们进行操作,创建一个单独的,均值/中值?

1 个答案:

答案 0 :(得分:1)

首先创建所有DataFrame的列表 - 按usecols中的参数read_csv过滤列,也可省略delimiter=',',因为默认参数:

dfs = []
for m in range(len(files)):
    df = pd.read_csv(mypath + files[m], 
                     skiprows=1, 
                     usecols = ['Wavelength (nm)', 'Abs']) # usecols = ['Abs'] for filter Abs
    dfs.append(df)

替代:

dfs = [pd.read_csv(mypath + files[m], skiprows=1, usecols = ['Wavelength (nm)', 'Abs']) for m in range(len(files))]

最后concat在一起:

df = pd.concat(dfs, ignore_index=True)