Merge arquivos com convenção de nome semelhante a um dataframe

Tenho uma lista de arquivos armazenados no diretório, como

filenames=[
        abc_1.txt
        abc_2.txt
        abc_3.txt

        bcd_1.txt
        bcd_2.txt
        bcd_3.txt
       ]

pattern=[abc]

Eu quero ler vários arquivos txt em um quadro de dados, de modo que todos os arquivos iniciados com abc estejam em um quadro de dados e todos os nomes de arquivos iniciados com bcd et

Meu código:

file_path = '/home/iolie/Downloads/test/'
filenames = os.listdir(file_path)


prefixes = list(set(i.split('_')[0] for i in filenames))

for prefix in prefixes:
    print('Reading files with prefix:',prefix)
    for file in filenames: 
        if file.startswith(prefix):
            print('Reading files:',file)
            list_of_dfs = [pd.concat([pd.read_csv(os.path.join(file_path, file), header=None) ],ignore_index=True)]
            final = pd.concat(list_of_dfs)

Este código não é anexado, mas substitui o quadro de dados. Alguém pode ajudar com isso?

questionAnswers(1)

yourAnswerToTheQuestion