首页 > 解决方案 > 在具有相同数据结构的多个文件中更改特定列的标题

问题描述

我一直在努力为这个问题找到一个可行的答案,所以我不会深入探讨我尝试过的内容,但我基本上是在尝试执行以下操作:

1.) 我有一个文件夹,其中包含多个具有相同后缀的 .txt 文件(例如 *.data.txt),文件名的动态部分是 *

2.) 每个文件具有完全相同的数据结构,具有相同的列数和相同的标题标题

3.)鉴于上述两点,我想遍历每个文件,获取一个带有标题“average_depth”的特定列,并生成一个新的数据框,这些列并排连接在一起,新的标题标题为文件名的动态部分(* 从第 1 点开始)

希望我在这里的目标很简单,但如果有必要我可以澄清一下。我已经搜索了几个关于如何做到这一点的资料,我认为直接问这个可能更有效。非常感谢,我期待着测试我在这里看到的回复。

标签: pythonpandasdataframe

解决方案


import glob
import pandas as pd

collected_columns  = []
for file in glob.glob('/your/path/*.data.txt'):
    # read data
    df = pd.DataFrame.read_csv(file)
    # extract name
    id_ = file.split('/')[-1].split('.')[0]
    # rename column
    df.rename({'average_depth': f'average_depth_{id_}'}, axis='columns')

    collected_columns.append(df[f'average_depth_{id_}'])

final_df = pd.concat(collected_columns, axis=1)

希望有帮助。


推荐阅读