中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Pandas之groupby( )用法筆記

groupby官方解釋

DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs)

 

Group series using mapper (dict or key function, apply given function to group, return result as series) or by a series of columns.

 

講真的,非常不能理解pandas官方文檔的這種表達(dá)形式,讓人真的有點(diǎn)摸不著頭腦,example給得又少,參數(shù)也不給得很清楚,不過沒有辦法,還是只能選擇原諒他。

groupby我用過的用法

基本用法我這里就不呈現(xiàn)了,我覺得用過一次的人基本不會(huì)忘記,這里我主要寫一下我用過的關(guān)系groupby函數(shù)的疑惑:

apply & agg

這個(gè)問題著實(shí)困擾了我很久,經(jīng)過研究,找了一些可能幫助理解的東西。先舉一個(gè)例子:

import pandas as pddf = pd.DataFrame({'Q':['LI','ZHANG','ZHANG','LI','WANG'], 'A' : [1,1,1,2,2], 'B' : [1,-1,0,1,2], 'C' : [3,4,5,6,7]})
 ABCQ
0113LI
11-14ZHANG
2105ZHANG
3216LI
4227WANG
df.groupby('Q').apply(lambda x:print(x))
       A  B  C   Q    0  1  1  3  LI    3  2  1  6  LI       A  B  C   Q    0  1  1  3  LI    3  2  1  6  LI       A  B  C     Q    4  2  2  7  WANG       A  B  C      Q    1  1 -1  4  ZHANG    2  1  0  5  ZHANG
df.groupby('Q').agg(lambda x:print(x))
    0    1    3    2    Name: A, dtype: int64    4    2    Name: A, dtype: int64    1    1    2    1    Name: A, dtype: int64    0    1    3    1    Name: B, dtype: int64    4    2    Name: B, dtype: int64    1   -1    2    0    Name: B, dtype: int64    0    3    3    6    Name: C, dtype: int64    4    7    Name: C, dtype: int64    1    4    2    5    Name: C, dtype: int64
 ABC
Q   
LINoneNoneNone
WANGNoneNoneNone
ZHANGNoneNoneNone

從這個(gè)例子可以看出,使用apply()處理的對(duì)象是一個(gè)個(gè)的類如DataFrame的數(shù)據(jù)表,然而agg()則每次只傳入一列。

不過我覺得這一點(diǎn)區(qū)別在實(shí)際應(yīng)用中分別并不大,因?yàn)镮python的Out輸出對(duì)于這兩個(gè)函數(shù)幾乎沒有差別,不管是處理一列還是一表。

我覺得agg()有一點(diǎn)讓我很開心就是他可以同時(shí)傳入多個(gè)函數(shù),簡(jiǎn)直不要太方便哈哈:

df.groupby('Q').agg(['mean','std','count','max'])
 ABC
 meanstdcountmaxmeanstdcountmaxmeanstdcountmax
Q            
LI1.50.707107221.00.000000214.52.12132026
WANG2.0NaN122.0NaN127.0NaN17
ZHANG1.00.00000021-0.50.707107204.50.70710725

Plotting

這個(gè)也是我剛剛學(xué)會(huì)的,groupby的plot簡(jiǎn)直不要太方便了:(不過這個(gè)例子選的不是很好)

%matplotlib inlinedf.groupby('Q').agg(['mean','std','count','max']).plot(kind='bar')
<matplotlib.axes._subplots.AxesSubplot at 0x1133bd710>

MultiIndex

這個(gè)是困擾我最多的一個(gè)問題,因?yàn)槿绻襣roupby的時(shí)候選擇了兩個(gè)level,之后的data總是呈現(xiàn)透視表的形式,如:

Muldf = df.groupby(['Q','A']).agg('mean')print(Muldf)
               B    C    Q     A              LI    1  1.0  3.0          2  1.0  6.0    WANG  2  2.0  7.0    ZHANG 1 -0.5  4.5

我開始甚至以為這應(yīng)該不是dataframe,是一個(gè)我可能沒注意過的一個(gè)東西,可是后來我發(fā)現(xiàn),這不過是MultiIndex形式的一種dataframe罷了。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Pandas分組運(yùn)算(groupby)修煉
pandas——很全的groupby、agg,對(duì)表格數(shù)據(jù)分組與統(tǒng)計(jì)
25個(gè)例子學(xué)會(huì)Pandas Groupby 操作
Python 中 NaN 和 None 的詳細(xì)比較
Pandas分組統(tǒng)計(jì)函數(shù):groupby、pivot
Pandas必備技能之“分組聚合操作”
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服