如何在不键入每个数据帧名称的情况下连接多个数据帧

问题描述 投票:1回答:1

我想将多个DataFrame连接在一起而不在concat函数中列出所有名称。我已经以字符串元素列表的形式获得的数据帧名称列表。无论如何我可以把它传递给concat函数吗?

df_1 = pandas.read_csv('some_file_1')
df_2 = pandas.read_csv('some_file_2')
df_3 = pandas.read_csv('some_file_3')

some_list = ['df_1','df_2','df_3']

pandas.concat(some_list)
python-3.x
1个回答
1
投票

你可以做:

import pandas as pd
import numpy as np

df1 = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
df2 = pd.DataFrame(np.random.randint(0,50,size=(100, 4)), columns=list('ABCD'))
df3 = pd.DataFrame(np.random.randint(0,5,size=(100, 4)), columns=list('ABCD'))

to_concat = [ "df1", "df2", "df3" ]

df = pd.concat(map(lambda z: eval(z),to_concat))

print(df)
© www.soinside.com 2019 - 2024. All rights reserved.