Python 如何在forloop中创建多个数据帧?

Python 如何在forloop中创建多个数据帧?,python,pandas,dataframe,Python,Pandas,Dataframe,我想使用forloop创建多个数据帧 这是我到目前为止所做的 for x in df['Area'].unique(): cousines=[] for i in Cousines: index = df[df['Area']==x].index df_x = df.loc[index] Rating_mean = df_x[df_x['Cousines'].str.contains(i)]['Rating'].mean()

我想使用forloop创建多个数据帧

这是我到目前为止所做的

for x in df['Area'].unique():
    cousines=[]
    for i in Cousines:
        index = df[df['Area']==x].index
        df_x = df.loc[index]
        Rating_mean = df_x[df_x['Cousines'].str.contains(i)]['Rating'].mean()
        dict1={'Cousines':i,'Rating':Rating_mean}
        cousines.append(dict1)
    x = pd.DataFrame(cousines)
问题是,当我使用x创建数据帧时,它没有将其用作forloop变量
我不知道如何在每次创建df时使用这个x作为我的数据帧名称,并将其附加到列表中:

dfs = []
for x in df['Area'].unique():
    cousines=[]
    for i in Cousines:
        index = df[df['Area']==x].index
        df_x = df.loc[index]
        Rating_mean = df_x[df_x['Cousines'].str.contains(i)]['Rating'].mean()
        dict1={'Cousines':i,'Rating':Rating_mean}
        cousines.append(dict1)
    dfs.append(pd.DataFrame(cousines))
半小时后

所以,在网上漫游之后,我找到了完美的答案。 这可能会帮助一些人

df_dic={}
for x in df['Area'].unique(): 
    index = df[df['Area']==x].index
    df_x = df.loc[index]
    
    cousines=[]
    for i in Cousines:
        
        Rating_mean = df_x[df_x['Cousines'].str.contains(i)]['Rating'].mean()
        dict1={'Cousines':i,'Rating':Rating_mean}
        cousines.append(dict1)

    df_dic["{0}".format(x)]=pd.DataFrame(cousines)
现在,
df_dict['Area_name']
获取Area_name数据帧

df_dic['Alkapuri']

请核对正确答案
    Cousines      Rating
0   NorthIndian 3.961290
1   FastFood    3.811111
2   Chinese     3.922222
3   Beverages   3.992308
4   Pizza       3.592308
5   Italian     3.890000
6   Desserts    4.033333
7   StreetFood  4.260000
8   Cafe        3.866667
9   Gujarati    3.966667