欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pandas.cut具體使用總結(jié)

 更新時(shí)間:2019年06月24日 11:48:50   作者:ColdCode  
這篇文章主要介紹了pandas.cut具體使用總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

用途

pandas.cut用來(lái)把一組數(shù)據(jù)分割成離散的區(qū)間。比如有一組年齡數(shù)據(jù),可以使用pandas.cut將年齡數(shù)據(jù)分割成不同的年齡段并打上標(biāo)簽。

原型

pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise') #0.23.4

參數(shù)含義

x:被切分的類數(shù)組(array-like)數(shù)據(jù),必須是1維的(不能用DataFrame);

bins:bins是被切割后的區(qū)間(或者叫“桶”、“箱”、“面元”),有3中形式:一個(gè)int型的標(biāo)量、標(biāo)量序列(數(shù)組)或者pandas.IntervalIndex 。

一個(gè)int型的標(biāo)量

 當(dāng)bins為一個(gè)int型的標(biāo)量時(shí),代表將x平分成bins份。x的范圍在每側(cè)擴(kuò)展0.1%,以包括x的最大值和最小值。

標(biāo)量序列

 標(biāo)量序列定義了被分割后每一個(gè)bin的區(qū)間邊緣,此時(shí)x沒有擴(kuò)展。

pandas.IntervalIndex

定義要使用的精確區(qū)間。

right:bool型參數(shù),默認(rèn)為True,表示是否包含區(qū)間右部。比如如果bins=[1,2,3],right=True,則區(qū)間為(1,2],(2,3];right=False,則區(qū)間為(1,2),(2,3)。

labels:給分割后的bins打標(biāo)簽,比如把年齡x分割成年齡段bins后,可以給年齡段打上諸如青年、中年的標(biāo)簽。labels的長(zhǎng)度必須和劃分后的區(qū)間長(zhǎng)度相等,比如bins=[1,2,3],劃分后有2個(gè)區(qū)間(1,2],(2,3],則labels的長(zhǎng)度必須為2。如果指定

labels=False,則返回x中的數(shù)據(jù)在第幾個(gè)bin中(從0開始)。

retbins:bool型的參數(shù),表示是否將分割后的bins返回,當(dāng)bins為一個(gè)int型的標(biāo)量時(shí)比較有用,這樣可以得到劃分后的區(qū)間,默認(rèn)為False。

precision:保留區(qū)間小數(shù)點(diǎn)的位數(shù),默認(rèn)為3.

include_lowest:bool型的參數(shù),表示區(qū)間的左邊是開還是閉的,默認(rèn)為false,也就是不包含區(qū)間左部(閉)。

duplicates:是否允許重復(fù)區(qū)間。有兩種選擇:raise:不允許,drop:允許。

返回值

out:一個(gè)pandas.Categorical, Series或者ndarray類型的值,代表分區(qū)后x中的每個(gè)值在哪個(gè)bin(區(qū)間)中,如果指定了labels,則返回對(duì)應(yīng)的label。

bins:分隔后的區(qū)間,當(dāng)指定retbins為True時(shí)返回。

例子

這里拿給年齡分組當(dāng)做例子。

import numpy as np
import pandas as pd

ages = np.array([1,5,10,40,36,12,58,62,77,89,100,18,20,25,30,32]) #年齡數(shù)據(jù)

將ages平分成5個(gè)區(qū)間

ages = np.array([1,5,10,40,36,12,58,62,77,89,100,18,20,25,30,32]) 
pd.cut(ages, 5)

輸出:

[(0.901, 20.8], (0.901, 20.8], (0.901, 20.8], (20.8, 40.6], (20.8, 40.6], ..., (0.901, 20.8], (0.901, 20.8], (20.8, 40.6], (20.8, 40.6], (20.8, 40.6]]
Length: 16
Categories (5, interval[float64]): [(0.901, 20.8] < (20.8, 40.6] < (40.6, 60.4] < (60.4, 80.2] < (80.2, 100.0]]

可以看到ages被平分成5個(gè)區(qū)間,且區(qū)間兩邊都有擴(kuò)展以包含最大值和最小值。

將ages平分成5個(gè)區(qū)間并指定labels

ages = np.array([1,5,10,40,36,12,58,62,77,89,100,18,20,25,30,32]) #年齡數(shù)據(jù)
pd.cut(ages, 5, labels=[u"嬰兒",u"青年",u"中年",u"壯年",u"老年"])

輸出:

[嬰兒, 嬰兒, 嬰兒, 青年, 青年, ..., 嬰兒, 嬰兒, 青年, 青年, 青年]
Length: 16
Categories (5, object): [嬰兒 < 青年 < 中年 < 壯年 < 老年]

給ages指定區(qū)間進(jìn)行分割

ages = np.array([1,5,10,40,36,12,58,62,77,89,100,18,20,25,30,32]) #年齡數(shù)據(jù)
pd.cut(ages, [0,5,20,30,50,100], labels=[u"嬰兒",u"青年",u"中年",u"壯年",u"老年"])

輸出:

[嬰兒, 嬰兒, 青年, 壯年, 壯年, ..., 青年, 青年, 中年, 中年, 壯年]
Length: 16
Categories (5, object): [嬰兒 < 青年 < 中年 < 壯年 < 老年]

這里不再平分ages,而是將ages分為了5個(gè)區(qū)間(0, 5],(5, 20],(20, 30],(30,50],(50,100].

返回分割后的bins

令retbins=True即可

ages = np.array([1,5,10,40,36,12,58,62,77,89,100,18,20,25,30,32]) #年齡數(shù)據(jù)
pd.cut(ages, [0,5,20,30,50,100], labels=[u"嬰兒",u"青年",u"中年",u"壯年",u"老年"],retbins=True)

輸出:

([嬰兒, 嬰兒, 青年, 壯年, 壯年, ..., 青年, 青年, 中年, 中年, 壯年]
 Length: 16
 Categories (5, object): [嬰兒 < 青年 < 中年 < 壯年 < 老年],
 array([  0,   5,  20,  30,  50, 100]))

只返回x中的數(shù)據(jù)在哪個(gè)bin

令labels=False即可

ages = np.array([1,5,10,40,36,12,58,62,77,89,100,18,20,25,30,32]) #年齡數(shù)據(jù)
pd.cut(ages, [0,5,20,30,50,100], labels=False)

輸出:

array([0, 0, 1, 3, 3, 1, 4, 4, 4, 4, 4, 1, 1, 2, 2, 3], dtype=int64)

第一個(gè)0表示1在第0個(gè)bin中。

參考

1.https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.cut.html

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 從零開始學(xué)習(xí)Python與BeautifulSoup網(wǎng)頁(yè)數(shù)據(jù)抓取

    從零開始學(xué)習(xí)Python與BeautifulSoup網(wǎng)頁(yè)數(shù)據(jù)抓取

    想要從零開始學(xué)習(xí)Python和BeautifulSoup網(wǎng)頁(yè)數(shù)據(jù)抓?。勘局改蠈槟闾峁┖?jiǎn)單易懂的指導(dǎo),讓你掌握這兩個(gè)強(qiáng)大的工具,不管你是初學(xué)者還是有經(jīng)驗(yàn)的開發(fā)者,本指南都能幫助你快速入門并提升技能,不要錯(cuò)過(guò)這個(gè)機(jī)會(huì),開始你的編程之旅吧!
    2024-01-01
  • 簡(jiǎn)單的Python人臉識(shí)別系統(tǒng)

    簡(jiǎn)單的Python人臉識(shí)別系統(tǒng)

    這篇文章主要介紹了Python人臉識(shí)別系統(tǒng)的實(shí)現(xiàn),文中講解非常詳細(xì),代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • python中內(nèi)置庫(kù)os與sys模塊的詳細(xì)介紹

    python中內(nèi)置庫(kù)os與sys模塊的詳細(xì)介紹

    這篇文章主要介紹了python中內(nèi)置庫(kù)os與sys模塊的詳細(xì)介紹,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • Django之PopUp的具體實(shí)現(xiàn)方法

    Django之PopUp的具體實(shí)現(xiàn)方法

    今天小編就為大家分享一篇Django之PopUp的具體實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python中的反射知識(shí)點(diǎn)總結(jié)

    Python中的反射知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于Python中的反射知識(shí)點(diǎn)總結(jié)內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-11-11
  • Django haystack實(shí)現(xiàn)全文搜索代碼示例

    Django haystack實(shí)現(xiàn)全文搜索代碼示例

    這篇文章主要介紹了Django haystack實(shí)現(xiàn)全文搜索代碼示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python TKinter獲取文本框內(nèi)容的方法

    python TKinter獲取文本框內(nèi)容的方法

    今天小編就為大家分享一篇python TKinter獲取文本框內(nèi)容的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Pycharm運(yùn)行時(shí)總是跳出Python?Console問題

    Pycharm運(yùn)行時(shí)總是跳出Python?Console問題

    這篇文章主要介紹了Pycharm運(yùn)行時(shí)總是跳出Python?Console問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • python圣誕樹編寫實(shí)例詳解

    python圣誕樹編寫實(shí)例詳解

    在本篇文章里小編給大家整理的是關(guān)于python圣誕樹代碼的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-02-02
  • 詳解Python中的文件操作

    詳解Python中的文件操作

    在日常生活中,文件操作主要包括打開、關(guān)閉、讀、寫等操作,這篇文章主要為大家詳細(xì)介紹了Python中這些文件操作的實(shí)現(xiàn),需要的可以了解下
    2023-07-07

最新評(píng)論