繁体   English   中英

在循环熊猫中串联数据框的列

[英]Concatenate columns of dataframes in a loop Pandas

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

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

myfiles = sorted(glob.glob('blanks/Day01/Batch02/*.csv'))
mypath = 'blanks/Day01/Batch02/'
files         = [f for f in listdir(mypath) if isfile(join(mypath, f))]   # all files in a folder

for m in range(len(files)):
    df = pd.read_csv(mypath + files[m], skiprows=1, delimiter= ',')
    wl = df['Wavelength (nm)']
    A  = df['Abs']

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

首先创建所有DataFrame的列表-在read_csv按参数usecols过滤列,也可以省略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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM