我想使用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变量 而且我不知道如何使用x作为DataFrame的名字
答案 0 :(得分:0)
每次创建df时,将其添加到列表中:
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))
答案 1 :(得分:0)
半个小时后!
因此,在互联网上漫游后,我找到了完美的答案。 这可能对某些人有帮助。
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