Python 如何在forloop中创建多个数据帧?
我想使用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()
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