在同一列中查找相同的值,并为其单独创建数据框

时间:2019-01-28 11:14:08

标签: python-3.x pandas

我有一个pandas数据框,其中包含两列,一列具有很多值,另一列仅包含大多数相同的值。数据框如下所示:

Item        Price

Apple        10
Banana        5
Mango        10 
Pineapple     7 
Kiwi          5
Tomatoes      2 
Eggs         10
Potatoes      7
Burgers       5
Milk          2
Chicken      10
Coffee        7
Noodles       5

价格列上的值更改。我希望能够过滤价格相同的项目并从中创建一个新的数据框。我无法做的是寻找出现的不同价格,如果价格保持不变,那么我可以基于此过滤商品,但是当价格任意变化时我无法。 这就是我要实现的,仅以一个特定价格的数据框为例。

Item       Price

Apple        10
Mango        10
Eggs         10
Chicken      10

2 个答案:

答案 0 :(得分:1)

您可以使用数据框功能获取子集。

price_list = df.Price.unique()
sets = []
for price in price_list:
    sets.append(df[df.Price == price])

答案 1 :(得分:1)

您可以使用以下方法进行操作:

df_new = []
for i in df['Price'].unique():
    df1 = df[df['Price']==i]
    df_new.append(df1)

print(df_new[0])

输出:

Item       Price

Apple        10
Mango        10
Eggs         10
Chicken      10