Python 使用循环从列表中创建多个名为的空数据帧

Python 使用循环从列表中创建多个名为的空数据帧,python,pandas,dataframe,Python,Pandas,Dataframe,我试图用for循环创建多个空数据帧,其中每个数据帧都有一个存储在列表中的唯一名称。根据下面的示例代码,我想要三个空数据帧,一个称为A[],另一个称为B[],最后一个称为C[]。多谢各位 import pandas as pd report=['A','B','C'] for i in report: report[i]=pd.DataFrame() 你应该用措辞来表达: import pandas as pd report={'A': pd.DataFrame(),'B': pd.Da

我试图用for循环创建多个空数据帧,其中每个数据帧都有一个存储在列表中的唯一名称。根据下面的示例代码,我想要三个空数据帧,一个称为A[],另一个称为B[],最后一个称为C[]。多谢各位

import pandas as pd
report=['A','B','C']
for i in report:
    report[i]=pd.DataFrame()

你应该用措辞来表达:

import pandas as pd
report={'A': pd.DataFrame(),'B': pd.DataFrame(),'C': pd.DataFrame()]

如果你有一个包含名字的字符串或字符列表,我想这是你真正想要做的

name_dataframe = ['A', 'B', 'C']
dict_dataframe = {}
for name in name_dataframe:
    dict_dataframe[name] = pd.Dataframe()


这不是一个好的做法,您可能应该使用字典来完成这项工作,但是如果您仍然需要这样做,下面的代码将完成这项工作,这将在内存中创建数据帧,其中包含列表
报告
中的名称:

for i in report: 
    exec(i + ' = pd.DataFrame()')
如果要在列表中存储空数据帧:

df_list = []
for i in report: 
    exec(i + ' = pd.DataFrame() \ndf_list.append(' + i+ ')')

  

最好用字典

import pandas as pd
report=['A','B','C']
df_dict = {}
for i in report:
    df_dict[i]=pd.DataFrame()

print(df_dict['A'])
print(df_dict['B'])
print(df_dict['C'])

然后你需要创建一个字典,而不是一个列表<代码>报告
是一个列表,谢谢你,雷神!这很有效!