groupby,java
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
groupby java是什麼,讓我們一起了解一下?
groupby的作用是通過一定的規則將一個數據集劃分成若干個小的區域,然後針對若干個小區域進行數據處理,groupby核心用法是利用本身的某一列或多列內容進行分組聚合。
groupby的核心用法:
(1)根據DataFrame本身的某一列或多列內容進行分組聚合,(a)若按某一列聚合,則新DataFrame將根據某一列的內容分為不同的維度進行拆解,同時將同一維度的再進行聚合,(b)若按某多列聚合,則新DataFrame將是多列之間維度的笛卡爾積,即:新DataFrame具有一個層次化索引(由唯一的鍵對組成),例如:“key1”列,有a和b兩個維度,而“key2”有one和two兩個維度,則按“key1”列和“key2”聚合之後,新DataFrame將有四個group;
注意:groupby默認是在axis=0上進行分組的,通過設置axis=1,也可以在其他任何軸上進行分組。
(2)groupby,根據分組鍵的不同,有以下4種聚合方法:
1、分組鍵為Series。
(a)使用原df的子列作為Series。
df.groupby([ df[‘key1’], df[‘key2’] ]).mean()
(b)使用自定義的Series。
mapping={‘a’:‘red’,‘b’:‘red’,‘c’:‘blue’,‘d’:‘blue’,‘e’:‘red’,‘f’:‘orange’}
map_series=pd.Series(mapping)
people.groupby(map_series,axis=1).count()
2、分組鍵為列名。
df.groupby([ ‘key1’,‘key2’ ]).mean()
3、分組鍵為數組。
states=np.array([‘Ohio’, ‘California’, ‘California’, ‘Ohio’, ‘Ohio’])
years=np.array([2004,2005,2006,2005,2006]) #自定義數組
df[‘data1’].groupby( [ states,years ] ).mean()
4、分組鍵為字典。
mapping={‘a’:‘red’,‘b’:‘red’,‘c’:‘blue’,‘d’:‘blue’,‘e’:‘red’,‘f’:‘orange’} #自定義字典。
by_column=people.groupby(mapping,axis=1).sum() #指定axis=1,表示對列數據進行聚合分組。
5、分組鍵為函數。
例如:傳入len函數(可以求取一個字符串長度數組),實現根據字符串的長度進行分組。
people.groupby(len).sum() #將字符串長度相同的行進行求和。
5、分組鍵為函數和數組、列表、字典、Series的組合。
引入列表list[ ] 將函數跟數組、列表、字典、Series混合使用作為分組鍵進行聚合,因為任何東西最終都會被轉換為數組。
key_list=[‘one’,‘one’,‘one’,‘two’,‘two’] #自定義列表,默認列表順序和df的列順序一致。
people.groupby([ len,key_list ]).min()
6、分組鍵為具有多重列索引df 的列索引層次。
hier_df.groupby(level=‘cty’,axis=1).count() #利用參數level,指明聚合的層級。
代碼示例説明:
將多個字段拼接成一個新字段,在使用Java8的groupBy進行分組。
Map<String, List<EntryDeliveryDetailywk>> detailmap = details.stream().collect(Collectors.groupingBy(d -> fetchGroupKey(d) ));private String fetchGroupKey(EntryDeliveryDetailywk detail){ return detail.getSkuId().toString() + detail.getItemsName() + detail.getWarehouseId().toString() + detail.getSupplierId().toString(); }
以上就是小編今天的分享了,希望可以幫助到大家。
-
怎麼查看微信羣在哪裏
1、成功登陸微信後,點擊微信通訊錄選項卡,在微信通訊錄裏可以看到羣聊,點擊羣聊。2、打開羣聊後,在羣聊這裏什麼都沒有,點擊羣聊右上角的“+”圖標。3、在發起羣聊界面上,點擊選擇一個羣。4、點擊進入到選擇羣聊界面後,在選擇羣聊就裏可以看到所有的微信羣了。5、點擊...
-
攝像頭怎麼連接手機,一文讓你秒懂
1、攝像頭用網線連上路由器,通電,電腦也連接在同一路由並安裝客户端軟件。2、用攝像頭的搜索工具搜索到攝像頭IP,把該IP改成與路由器同一網段保存。之後在IE欄輸入該攝像頭IP進入WEB端界面進行簡單設置。3、進入路由進行端口映射,若攝像頭是P2P功能的,此步可以省略...
-
超話等級在哪看
1、首先打開微博app,在首頁點擊我的選項,然後進入自己關注的超話,這時可以點擊超話頭像旁顯示的粉絲數,點擊進入之後就可以看到我的等級了。2、微博超話指的是微博的超級話題,是在新浪微博裏面的興趣內容社區。它是將話題模式和社區屬性相結合的產品,目前微博超話的...
-
手機相冊很多垃圾圖片
我們使用手機去瀏覽網頁,或者是刷微博以及微信的時候,都會加載一些網頁,而且有些圖片還會自動下載保存到手機相冊裏面,這就是為什麼我們的手機相冊總是會莫名的多出一些垃圾圖片的原因。如果我們的手機下載了非官網渠道的APP,這種APP軟件會出現無用圖片,會在相冊中保...