Python 3.x 在dataframe中获得最少的销售额
数据帧Python 3.x 在dataframe中获得最少的销售额,python-3.x,pandas,Python 3.x,Pandas,数据帧 Fresh Milk Grocery Channel 20 50 80 Hotel 40 10 30 Restaurant 100 90 20 Cafe 120 150 80 Hotel 450 910 30 Restaurant 10 90 20 Cafe 205 50 80 Hotel 403 10 30 Restau
Fresh Milk Grocery Channel
20 50 80 Hotel
40 10 30 Restaurant
100 90 20 Cafe
120 150 80 Hotel
450 910 30 Restaurant
10 90 20 Cafe
205 50 80 Hotel
403 10 30 Restaurant
10 90 20 Cafe
如何获得渠道的最低销售额并打印渠道名称
我想我们需要做群比。我试过了,但没有成功。有人能建议如何做到这一点吗?您首先需要将所有项目合并到一列:
df['sum_of_items'] = df.sum(axis=1)
然后,您可以使用一个简单的groupby:
df.groupby('Channel')['sum_of_items'].sum()
结果是:
Channel
Cafe 450
Hotel 835
Restaurant 1913
首先需要将所有项目合并到一列中:
df['sum_of_items'] = df.sum(axis=1)
然后,您可以使用一个简单的groupby:
df.groupby('Channel')['sum_of_items'].sum()
结果是:
Channel
Cafe 450
Hotel 835
Restaurant 1913
案例1:考虑所有柱的最小值
最小信道
首先,我们计算每个通道的总数,我们可以使用:
或
输出
然后我们使用
案例2分列
案例1:考虑所有柱的最小值
最小信道
首先,我们计算每个通道的总数,我们可以使用:
或
输出
然后我们使用
案例2分列
因此,您可以创建一个列,其中包含所有三列的总和,如下图所示,然后获得花费最少的频道
df['Sales'] = df['Fresh'] + df['Milk'] + df['grocery']
df.groupby('Channel')['Sales'].sum().reset_index().sort_values('Sales', ascending = True).reset_index(drop=True).loc[0]
因此,您可以创建一个列,其中包含所有三列的总和,如下图所示,然后获得花费最少的频道
df['Sales'] = df['Fresh'] + df['Milk'] + df['grocery']
df.groupby('Channel')['Sales'].sum().reset_index().sort_values('Sales', ascending = True).reset_index(drop=True).loc[0]
销售栏在哪里?没有销售栏。上面的数据框只包含每个项目的销售。销售列在哪里?没有销售列。以上数据框仅包含每个项目的销售额。
df['Sales'] = df['Fresh'] + df['Milk'] + df['grocery']
df.groupby('Channel')['Sales'].sum().reset_index().sort_values('Sales', ascending = True).reset_index(drop=True).loc[0]