Issue
I have a DataFrame in Pandas
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
What I want to do is split these into multiple data frames to have unique names, then in those split to category.
Current code:
names = df['STORENAME'].unique().tolist() #find unique values
store1 = df[df['STORENAME']==names[0]]
store2 = df[df['STORENAME']==names[1]]
This code works perfectly but I am wondering if there is a Pythonic way since the number of stores may change.
This is needed to plot the difference in prices in categories in stores.
Thanks!
Solution
I think you can create dictionary of DataFrames
:
dfs = dict(tuple(df.groupby('STORENAME')))
And then select by 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
Answered By - jezrael
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.