重命名dataframe对象

时间:2017-01-27 22:05:21

标签: python pandas object dataframe

我有一个列表文件,我想迭代并导入为数据帧:

data_files = ['data1.csv', 'data2.csv', 'data3.csv']

我正在尝试迭代列表并创建同名的数据帧,有点像手动执行以下操作:

data1 = pd.read_csv('data1.csv')
data2 = pd.read_csv('data2.csv')
data3 = pd.read_csv('data3.csv')

我试过了:

for i in data_files:
    name = i.split('.')
    name = pd.read_csv(name + ".csv")

上面的问题是,它只是将“i”创建为数据帧,而不是创建一组同名的数据帧对象。有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:1)

每次迭代时,您可能会覆盖数据框。改为使用字典/列表:

dataframes = dict()
for i in data_files:
    name = i.split('.')
    dataframes[name] = pd.read_csv(name + ".csv")

之后,访问您的数据框,如dataframes['data1']

答案 1 :(得分:0)

您可以创建存储数据对象的字典:

data_dict = {}
for i in range(len(data_files)):
    data_dict[i] = pd.read_csv(data_files[i])

此外,调用i.split('.')会创建一个['data1','csv']形式的列表,当您尝试呼叫read_csv时,我不确定这是否是您的意图,因为您在功能上声明{ {1}}没有意义。