最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

用途

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

原型

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中形式:一個int型的標量、標量序列(數(shù)組)或者pandas.IntervalIndex 。

一個int型的標量

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

標量序列

 標量序列定義了被分割后每一個bin的區(qū)間邊緣,此時x沒有擴展。

pandas.IntervalIndex

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

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

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

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

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

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

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

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

返回值

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

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

例子

這里拿給年齡分組當做例子。

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個區(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個區(qū)間,且區(qū)間兩邊都有擴展以包含最大值和最小值。

將ages平分成5個區(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ū)間進行分割

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個區(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ù)在哪個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)

第一個0表示1在第0個bin中。

參考

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python向企業(yè)微信發(fā)送文字和圖片消息的示例

    python向企業(yè)微信發(fā)送文字和圖片消息的示例

    這篇文章主要介紹了python向企業(yè)微信發(fā)送文字和圖片消息的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • 詳解Python編程中包的概念與管理

    詳解Python編程中包的概念與管理

    這篇文章主要介紹了Python編程中包的概念與管理,包括包管理工具pip的基本安裝使用,需要的朋友可以參考下
    2015-10-10
  • 利用Python實現(xiàn)定時程序的方法

    利用Python實現(xiàn)定時程序的方法

    在 Python 中,如何定義一個定時器函數(shù)呢?本文主要介紹了2種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 基于python中staticmethod和classmethod的區(qū)別(詳解)

    基于python中staticmethod和classmethod的區(qū)別(詳解)

    下面小編就為大家?guī)硪黄趐ython中staticmethod和classmethod的區(qū)別(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 基于Tensorflow的MNIST手寫數(shù)字識別分類

    基于Tensorflow的MNIST手寫數(shù)字識別分類

    這篇文章主要為大家詳細介紹了基于Tensorflow的MNIST手寫數(shù)字識別分類,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • Django Rest Framework構(gòu)建API的實現(xiàn)示例

    Django Rest Framework構(gòu)建API的實現(xiàn)示例

    本文主要介紹了Django Rest Framework構(gòu)建API的實現(xiàn)示例,包含環(huán)境設(shè)置、數(shù)據(jù)序列化、視圖與路由配置、安全性和權(quán)限設(shè)置、以及測試和文檔生成這幾個步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • python中numpy?常用操作總結(jié)

    python中numpy?常用操作總結(jié)

    這篇文章主要介紹了python中numpy常用操作總結(jié),NumPy是Python語言的一個擴充程序庫,支持大量高維度數(shù)組與矩陣運算,此外也針對數(shù)組運算提供大量的數(shù)學函數(shù)庫
    2022-09-09
  • Python使用LRU緩存策略進行緩存的方法步驟

    Python使用LRU緩存策略進行緩存的方法步驟

    本文主要介紹了Python使用LRU緩存策略進行緩存的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • Python類中方法getitem和getattr詳解

    Python類中方法getitem和getattr詳解

    這篇文章主要介紹了Python類中方法getitem和getattr詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python創(chuàng)建文本文件的簡單方法

    python創(chuàng)建文本文件的簡單方法

    在本篇內(nèi)容里小編給大家整理分享的是一篇關(guān)于python創(chuàng)建文本文件的簡單方法,有需要的朋友們可以參考學習下。
    2020-08-08

最新評論

北辰区| 天津市| 托里县| 内黄县| 申扎县| 云浮市| 牙克石市| 通州区| 香港| 大厂| 两当县| 拉萨市| 明溪县| 河池市| 通许县| 大庆市| 肥西县| 邯郸市| 章丘市| 小金县| 兖州市| 定兴县| 田林县| 辽阳县| 云龙县| 阿拉善左旗| 社旗县| 秭归县| 池州市| 简阳市| 文水县| 吉林市| 明溪县| 滨海县| 临潭县| 文山县| 弥渡县| 义乌市| 张家口市| 弥勒县| 南雄市|