![](/img/trans.png)
[英]Python, match values of 2 columns by checking information from another 3 columns in a dataframe
[英]Checking top values for dataframe columns in Python
我有一個大型數據集,看起來像:
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.describe()
來檢查最高百分比,但這對我沒有幫助,因為如果我將閾值設置為“已生產”的最高百分比,那么某些日子將丟失在數據中。
這是一個新手問題,但是如何根據此標准輕松選擇和定位這些頂級商店? 也許僅使用百分位數創建一系列頂級店鋪,然后在數據集中剔除這些店鋪? 感覺有更好的方法可以做到這一點。
使用sort_values()
和head()
:
df.sort_values('Produced', ascending=False).head(20)
如果要匯總每個商店的生產值然后進行排序,可以執行以下操作:
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()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.