python - 在 Pandas 循环中连接数据帧列

标签 python 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)

关于python - 在 Pandas 循环中连接数据帧列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50332455/

相关文章:

python - 使用 sklearn 缩放的 pandas 数据框列

python - 一次从 GridSearch 设置多个参数

python - 当键嵌入列表时从列表创建字典

python - 从图片中删除颜色

python - 如何绘制从 EEG 信号中提取的 ICA 分量?

python - 基于不同的 DataFrame 在 pandas DataFrame 中追加列

python - 获取 HDF5 内容列表(Pandas HDFStore)

python - 这两种为 sklearn 分类器过滤 Pandas 数据帧的方法有什么区别?

python - 按python中的第一个元素重新组合子列表

python - 将英里转换为公里时出错