чтобы получить полный список, далее я могу перейти к категории. Спасибо!

я есть DataFrame в Пандах

      PRICE   Name     PER   CATEGORY   STORENAME
0      9.99    MF      gram  Indica     Store1
1      9.99    HY      gram  Herb       Store2
2      9.99    FF      gram  Herb       Store2

Я хочу разделить их на несколько фреймов данных с уникальными именами, а затем разделить на категории.

Текущий код:

names = df['STORENAME'].unique().tolist()   #find unique values
store1 = df[df['STORENAME']==names[0]]        
store2 = df[df['STORENAME']==names[1]]

Этот код работает отлично, но мне интересно, есть ли Pythonic способ, так как количество магазинов может измениться.

Это необходимо для построения разницы цен в категориях в магазинах.

Спасибо!

Ответы на вопрос(1)

Решение Вопроса

Я думаю, что вы можете создатьdictionary of DataFrames:

dfs = dict(tuple(df.groupby('STORENAME')))

И затем выберитеSTORENAME:

store1 = dfs['Store1']
store2 = dfs['Store2']

print (store1)
   PRICE Name   PER CATEGORY STORENAME
0   9.99   MF  gram   Indica    Store1

print (store2)
   PRICE Name   PER CATEGORY STORENAME
1   9.99   HY  gram     Herb    Store2
2   9.99   FF  gram     Herb    Store2
 Darshan Jadav12 дек. 2017 г., 11:07
Спасибо, так как я не знал заранее имена хранилищ, я не могу выбрать по названию. Однако я сделалlistdf = [dfs [x] для x в dfs] чтобы получить полный список, далее я могу перейти к категории. Спасибо!

Ваш ответ на вопрос