0

完全新手,第一次发帖。我的数据框:

这是我的数据框

我在上面运行这段代码

pivot_df = pd.pivot_table(shop_df, index=['Fruits', 'Location', 'Readiness'], values='Price')

它正确地给出了旋转的结果:

结果

但是,我只希望多行结果显示如下

只有多行结果

我该如何做到这一点?

4

2 回答 2

1

输入数据取自答案中的@DNay。重置 pivot_df。

pivot_df = pivot_df.reset_index()

在 groupby 中计算水果的数量。

ndf = pd.DataFrame(pivot_df.groupby('Fruits')['Location'].count()).reset_index()

ndf.columns=['Fruits', 'Count']

仅选择具有多行的水果。

pivot_df[pivot_df['Fruits'].isin(list(ndf.loc[ndf['Count'] > 1, 'Fruits']))]
于 2020-12-03T22:01:21.530 回答
0

谢谢丹妮,让我试试。这是一个数据帧:

import pandas as pd
shop_df = pd.DataFrame({
    'Order_ID' : [232, 344, 452],
    'Fruits' : ['Apples', 'Apples', 'Pairs'],
    'Cultivar' : ['Cripps Pink', 'Braeburn', 'Bosc'],
    'Readiness' : ['Green', 'Irrelevant', 'Matured'],
    'Price' : [11, 12, 8],
    'Location' : ['Lost', 'Sold Out', 'Warehouse'],
    'Source' : ['Bobs Farm', 'Bettys', 'Bettys']})
shop_df.set_index(['Order_ID'], inplace=True)
shop_df.sort_index(inplace=True)

这是对我的数据框的枢轴命令:

pivot_df = pd.pivot_table(shop_df, index=['Fruits', 'Location', 'Readiness'], values='Price')

但它给出了 3 行1的结果,但我只想先看两个,仅适用于 Apples(没有 Pairs)。2

我怎么做?

于 2020-12-03T21:38:16.427 回答