對數(shù)據(jù)進行整理以及分組統(tǒng)計
網(wǎng)站制作、建網(wǎng)站找專業(yè)網(wǎng)站設(shè)計公司創(chuàng)新互聯(lián):定制網(wǎng)站、模板網(wǎng)站、仿站、小程序設(shè)計、軟件開發(fā)、app軟件定制開發(fā)等。做網(wǎng)站價格咨詢創(chuàng)新互聯(lián):服務(wù)完善、10余年建站、值得信賴!網(wǎng)站制作電話:18980820575
一、數(shù)據(jù)整理
1、行、列的插入與刪除
2、索引整理
3、重復(fù)值處理
4、排序,排名
5、數(shù)據(jù)框連接
6、數(shù)據(jù)分段
pandas.cut(x,bins,right=True,labels=None,retbins=False,precision=3,include_lowest=False)
x:需要切分的數(shù)據(jù)
bins:切分區(qū)域
right : 是否包含右端點默認(rèn)True,包含
labels:對應(yīng)標(biāo)簽,用標(biāo)記來代替返回的bins,若不在該序列中,則返回NaN
retbins:是否返回間距bins
precision:精度
include_lowest:是否包含左端點,默認(rèn)False,不包含
7、多級索引
8、字符串處理
類似于Python
二、分組統(tǒng)計
前言分組原理
核心:
1.不論分組鍵是數(shù)組、列表、字典、Series、函數(shù),只要其與待分組變量的軸長度一致都可以傳入groupby進行分組。
2.默認(rèn)axis=0按行分組,可指定axis=1對列分組。
對數(shù)據(jù)進行分組操作的過程可以概括為:split-apply-combine三步:
1.按照鍵值(key)或者分組變量將數(shù)據(jù)分組。
2.對于每組應(yīng)用我們的函數(shù),這一步非常靈活,可以是python自帶函數(shù),可以是我們自己編寫的函數(shù)。
3.將函數(shù)計算后的結(jié)果聚合。
1 分組模式及其對象
1.1 分組的一般模式
三個要素:分組依據(jù)、數(shù)據(jù)來源、操作及其返回結(jié)果
df.groupby(分組依據(jù))[數(shù)據(jù)來源].使用操作
1.2 分組依據(jù)的本質(zhì)
1.3Groupby 對象
通過 ngroups 屬性,可以訪問分為了多少組:
通過 groups 屬性,可以返回從 組名映射到 組索引列表的字典:
當(dāng) size 作為 DataFrame 的屬性時,返回的是表長乘以表寬的大小,但在 groupby 對象上表示統(tǒng)計每個組的 元素個數(shù):
通過 get_group 方法可以直接獲取所在組對應(yīng)的行,此時必須知道組的具體名字:
1.4 分組的三大操作
分組的三大操作:聚合、變換和過濾
2.聚合函數(shù)
2.1內(nèi)置聚合函數(shù)
包括如下函數(shù): max/min/mean/median/count/all/any/idxmax/idxmin/mad/nunique/skew/quantile/sum/std/var/sem/size/prod
2.2agg 方法
【a】使用多個函數(shù)
當(dāng)使用多個聚合函數(shù)時,需要用列表的形式把內(nèi)置聚合函數(shù)的對應(yīng)的字符串傳入,先前提到的所有字符串都是合法的。
【b】對特定的列使用特定的聚合函數(shù)
對于方法和列的特殊對應(yīng),可以通過構(gòu)造字典傳入 agg 中實現(xiàn),其中字典以列名為鍵,以聚合字符串或字符串列表為值。
【c】使用自定義函數(shù)
在 agg 中可以使用具體的自定義函數(shù),需要注意傳入函數(shù)的參數(shù)是之前數(shù)據(jù)源中的列,逐列進行計算
【d】聚合結(jié)果重命名 如果想要對結(jié)果進行重命名,只需要將上述函數(shù)的位置改寫成元組,元組的第一個元素為新的名字,第二個位置為原來的函數(shù),包括聚合字符串和自定義函數(shù)
3 變換和過濾
3.1 變換函數(shù)與 transform 方法
變 換 函 數(shù) 的 返 回 值 為 同 長 度 的 序 列, 最 常 用 的 內(nèi) 置 變 換 函 數(shù) 是 累 計 函 數(shù):cum- count/cumsum/cumprod/cummax/cummin ,它們的使用方式和聚合函數(shù)類似,只不過完成的是組內(nèi) 累計操作。
3.2 組索引與過濾
過濾在分組中是對于組的過濾,而索引是對于行的過濾
組過濾作為行過濾的推廣,指的是如果對一個組的全體所在行進行統(tǒng)計的結(jié)果返回 True 則會被保留,F(xiàn)alse 則該組會被過濾,最后把所有未被過濾的組其對應(yīng)的所在行拼接起來作為 DataFrame 返回。
在 groupby 對象中,定義了 filter 方法進行組的篩選,其中自定義函數(shù)的輸入?yún)?shù)為數(shù)據(jù)源構(gòu)成的 DataFrame 本身,在之前例子中定義的 groupby 對象中,傳入的就是 df[['Height', 'Weight']] ,因此所有表方法和屬性 都可以在自定義函數(shù)中相應(yīng)地使用,同時只需保證自定義函數(shù)的返回為布爾值即可。
4 跨列分組
4.1 apply 的引入
4.2 apply 的使用
在設(shè)計上,apply 的自定義函數(shù)傳入?yún)?shù)與 filter 完全一致,只不過后者只允許返回布爾值
【a】標(biāo)量情況:結(jié)果得到的是 Series ,索引與 agg 的結(jié)果一致
【b】Series 情況:得到的是 DataFrame ,行索引與標(biāo)量情況一致,列索引為 Series 的索引
【c】DataFrame 情況:得到的是 DataFrame ,行索引最內(nèi)層在每個組原先 agg 的結(jié)果索引上,再加一層返 回的 DataFrame 行索引,同時分組結(jié)果 DataFrame 的列索引和返回的 DataFrame 列索引一致
你可以把它當(dāng)做一個臨時變量用,比如換成a ,應(yīng)該就能看懂了。不過我不太喜歡用下劃線做臨時變量
python count()函數(shù)的功能和用法如下:
統(tǒng)計字符串
在python中可以使用“count()”函數(shù)統(tǒng)計字符串里某個字符出現(xiàn)的次數(shù),該函數(shù)用于統(tǒng)計次數(shù),其語法是“count(sub, start...
Python count() 方法用于統(tǒng)計字符串里某個字符出現(xiàn)的次數(shù)??蛇x參數(shù)為在字符串搜索的開始與結(jié)束位置。
count()函數(shù)
描述:統(tǒng)計字符串里某個字符出現(xiàn)的次數(shù)??梢赃x擇字符串索引的起始位置和結(jié)束位置。? ? ? ? ?
語法:str.count("char", start,end)? 或 str.count("char")? ? - int? ? 返回整數(shù)
str —— 為要統(tǒng)計的字符(可以是單字符,也可以是多字符)。
star —— 為索引字符串的起始位置,默認(rèn)參數(shù)為0。
end —— 為索引字符串的結(jié)束位置,默認(rèn)參數(shù)為字符串長度即len(str)
python中g(shù)roupby函數(shù)主要的作用是進行數(shù)據(jù)的分組以及分組后地組內(nèi)運算!
對于數(shù)據(jù)的分組和分組運算主要是指groupby函數(shù)的應(yīng)用,具體函數(shù)的規(guī)則如下:
df[](指輸出數(shù)據(jù)的結(jié)果屬性名稱).groupby([df[屬性],df[屬性])(指分類的屬性,數(shù)據(jù)的限定語,可以有多個).mean()(對于數(shù)據(jù)的計算方式——函數(shù)名稱)
另外,我們也可以過濾掉和忽略掉你不想要的組,而是返回一個類似索引對象。在這個對象中,我們分組時需要設(shè)置一個過濾條件,那么沒有通過的分組的元素被NaN 填充,這樣分組后被NaN 填充的數(shù)據(jù)就可以忽略了。
網(wǎng)頁名稱:python分組統(tǒng)計函數(shù),excel分組統(tǒng)計函數(shù)
分享路徑:http://aaarwkj.com/article48/hsosep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)頁設(shè)計公司、App設(shè)計、網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)