python - PANDAS 将数据框按唯一值行拆分为多个

标签 python pandas dataframe

我在 Pandas 中有一个 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 方式,因为商店的数量可能会发生变化。

这需要绘制商店中不同类别的价格差异。

谢谢!

最佳答案

我想你可以创建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

关于python - PANDAS 将数据框按唯一值行拆分为多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47769453/

相关文章:

python - 对数据框列中的值进行自定义过滤器 (Python)

Python pandas 计算与索引列完全匹配的列

python - 按组对 Pandas 数据框进行排序并保持所需的顺序

python - 使用 Pandas,如何将行值拆分为单独的列,并使用它们的值?

python-3.x - 根据 Pandas 中的多列过滤并显示所有重复行

Python SQLAlchemy ORM - 表反射*无*约束和索引反射

python - 使用 Matplotlib 旋转矩阵

python - Matplotlib xticks 标签 : how to modify attributes value

python - 数据帧上的条件迭代

python - 当我没有表对象时,如何在 SQLAlchemy 中删除表?