Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中检查dataframe列的顶级值_Python_Python 3.x_Pandas_Dataframe - Fatal编程技术网

在Python中检查dataframe列的顶级值

在Python中检查dataframe列的顶级值,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有一个大数据集,看起来像: Shop Date Hour Ending Hours Operating Produced Cornerstop 01-01-2010 0 1 9 Cornerstop 01-01-2010 1 1

我有一个大数据集,看起来像:

Shop              Date           Hour Ending         Hours Operating        Produced   
Cornerstop        01-01-2010          0                     1                   9
Cornerstop        01-01-2010          1                     1                   11
Cornerstop        01-01-2010          2                     1                   10
. 
.

Cornerstop        01-01-2010          23                    1                   0
Leaf Grove        01-01-2010          0                     1                   7
Leaf Grove        01-01-2010          1                     1                   4
Leaf Grove        01-01-2010          2                     1                   2
我想通过他们的产量来找出前20名的商店。我使用了
data.descripe()
来检查前百分位数,但这对我没有帮助,因为如果我在“生产”的前百分位数上设置阈值,一些天会在数据中丢失

这是一个新手问题,但我如何根据这个标准轻松挑选和瞄准这些顶级商店?也许使用百分位数只是为了创建一系列顶级商店,并将它们从数据集中删除?感觉有更好的方法可以做到这一点。

使用
sort\u values()
head()

如果要对每个车间的生产值求和,然后进行排序,可以执行以下操作:

df.groupby('Shop').agg({'Produced': 'sum'}).sort_values('Produced', ascending=False).head(20)

下面是如何对列进行排序,然后选择前20名

df= df.sort_values(['Produced'], ascending=[False])
df.head(20)

使用
.nlargest

df.groupby('Shop').Produced.sum().nlargest(20)

如果您只需要一个店铺列表,请添加
.index.tolist()

这是每个店铺总产量的总和吗?或者仅仅是生产出最高价值的前20行?在这种情况下,同一家商店能出现不止一次吗?这是一个很好的问题,让我找到了一个可能很简单的答案。我想从总产量中选出前20名。我可以按生成的和对日期进行求和。我可以使用什么操作快速显示之后每个日期的最高值?我想我们必须同时发布答案!这只给出了任何给定商店的前20个值(因此它会为列表中的一个商店列出前20个生产值)。抱歉。我现在编辑了我的答案。现在应该更好了,列的名称在这里实际上不是.producted.sum()。我不明白。我正在访问名为
'producted'
的列,然后计算每个
'Shop'
中这些值的总和。如果您的
DataFrame
具有示例中的列,那么这应该是可行的。实际上,我将该列的名称命名为“今天生产(lb)”。在名称中引入空格可能是原因。是的,如果您有空格,则不能使用
表示法,因此它必须是
df.groupby('Shop')['producted Today(lb)].sum().nlargest(20)
df.groupby('Shop').Produced.sum().nlargest(20)