約定
import pandas as pd
離散化通常對於我們不想要連續的數值,我們可將其離散化,離散化也可稱為分組、區間化。
pandas為我們提供了方便的函式cut():
pd.cut(x, bins, right=true, labels=none, retbins=false, precision=3, include_lowest=false)
引數解釋:
x:需要離散化的陣列、series、dataframe物件
bins:分組的依據
right:傳入false則指定左邊為閉端
# 假設有一組人員的年齡
ages=[20,19,30,34,23,40,50]
se_ages=pd.series(ages)
1 離散化
bin=[0,18,25,35,60]
se1=pd.cut(se_ages,bin)
print(se1)
0 (18, 25]
1 (18, 25]
2 (25, 35]
3 (25, 35]
4 (18, 25]
5 (35, 60]
6 (35, 60]
dtype: category
categories (4, interval[int64]): [(0, 18] < (18, 25] < (25, 35] < (35, 60]]
2 對分組計數
pd.value_counts(se1)
1(18, 25] 3
(35, 60] 2
(25, 35] 2
(0, 18] 0
dtype: int64
3 指定左邊為閉端
pd.cut(se_ages,bin,right=false)
10 [18, 25)
1 [18, 25)
2 [25, 35)
3 [25, 35)
4 [18, 25)
5 [35, 60)
6 [35, 60)
dtype: category
categories (4, interval[int64]): [[0, 18) < [18, 25) < [25, 35) < [35, 60)]
4 為區間指定名稱
pd.cut(se_ages,bin,labels=['youth','youngadult','middleage','senior'])
10 youngadult
1 youngadult
2 middleage
3 middleage
4 youngadult
5 senior
6 senior
dtype: category
categories (4, object): [youth < youngadult < middleage < senior]
二十二 Swift5 0之 列舉
全系列導航 swift5.0 系列部落格索引 swift列舉 swift中的列舉比oc中的列舉強大,因為swift中的列舉是一等型別,它可以像類和結構體一樣增加屬性和方法 格式 enum method enum method 可以使用列舉型別變數或常量接收列舉值 var m method add 注...
設計模式之策略模式(二十二)
strategy 抽象策略類 所有策略類的父類,為所支援的策略演算法宣告了抽象方法。concretestrategy 具體策略類 實現了在抽象策略類中宣告的方法。context 環境類 負責使用演算法策略,其中維持了乙個抽象策略類的引用例項。strategy 抽象策略類 public abstrac...
設計模式之狀態模式IFORNOIF 二十二
今天大風大雨,但心情還行,繼續擼dota 狀態模式 state pattern 定義 當乙個物件的內在狀態改變時允許改變其行為,這個物件看起來像是改變了其類 這在我們開發的業務中太常見了,角色許可權的管理,給予不同的許可權,不同角色的操作就會發生改變 該類圖中包含三個角色 狀態模式解決的問題總結 狀...