pandas 學習第八天

2021-10-13 18:37:43 字數 3795 閱讀 9183

二、缺失值的填充和插值

三、nullable型別

import pandas as pd

import numpy as np

缺失資料可以使用isnaisnull(兩個函式沒有區別)來檢視每個單元格是否缺失,結合mean可以計算出每列缺失值的比例:

想要檢視某一列缺失或者非缺失的行,可以利用series上的isna或者notna進行布林索引

想要同時對幾個列,檢索出全部為缺失或者至少有乙個缺失或者沒有缺失的行,可以使用isna, notna 和 any, all的組合。

sub_set = df[

['height'

,'weight'

,'transfer']]

df[sub_set.isna().

all(1)

]# 全部缺失

]# 至少有乙個缺失

]# 沒有缺失

dropna的主要引數為軸方向axis(預設為0,即刪除行)、刪除方式how、刪除的非缺失值個數閾值thresh( 非缺失值 沒有達到這個數量的相應維度會被刪除)、備選的刪除子集 subset ,其中how主要有anyall兩種引數可以選擇。

res = df.dropna(how =

'any'

, subset =

['height'

,'weight'])

res.shape

與上面等價的操作

fillna中有三個引數是常用的:value, method, limit。其中,value為填充值,可以是標量,也可以是索引到元素的字典對映;method為填充方法,有用前面的元素填充ffill和用後面的元素填充bfill兩種型別,limit引數表示連續缺失值的最大填充次數。

method = 'ffill'用前面的值來補充後面的nan

method = 'ffill',limit =1用前面的值來補充後面的nan,如果有出現的缺失,最多向後補充一次

value為標量

以字典的方式,通過索引對映填充的值

對於interpolate而言,除了插值方法(預設為linear線性插值)之外,有與fillna類似的兩個常用引數,乙個是控制方向的limit_direction,另乙個是控制最大連續缺失值插值個數的limit。其中,限制插值的方向預設為forward,這與fillnamethod中的ffill是類似的,若想要後向限制插值或者雙向限制插值可以指定為backwardboth

在 python 中的缺失值用 none 表示,該元素除了等於自己本身之外,與其他任何元素不相等:

numpy中利用np.nan來表示缺失值,該元素除了不和其他任何元素相等之外,和自身的比較結果也返回 false

np.nan的對應位置會返回false,但是在使用equals函式進行兩張表或兩個序列的相同性檢驗時,會自動跳過兩側表都是缺失值的位置,直接返回true

在時間序列的物件中, pandas 利用pd.nat來指代缺失值,它的作用和np.nan是一致的

object是一種混雜物件型別,如果出現了多個型別的元素同時儲存在 series 中,它的型別就會變成object

nullable就是可空的,言下之意就是序列型別不受缺失值的影響

當呼叫函式sum, prob使用加法和乘法的時候,缺失資料等價於被分別視作0和1,即不改變原來的計算結果

C 學習第八天

介面 inte ce c 中介面定義的規則 1 介面本身的預設訪問級別為internal,即程式集本身訪問級別 2 介面中方法不能使用任何訪問修飾符 例如 public private internal protected 等修飾。系統自動為其設定為public 3 不能使用virtual修飾 4 ...

JS學習第八天

7.4 for in 使 更加的簡潔 7.5 陣列的應用 1.查詢 a.順序查詢 var a 3,7,11,43,87,5,99,56,82,16 var num number prompt 請輸入要查詢的值 var index 1 最初認為要找的值不在陣列中 for var i in a aler...

Linux C學習第八天

一 運算子與表示式 1.優先順序與結合性 優先順序 運算子的運算順序,優先順序低的先運算 結合性 優先順序相等的情況下,運算子按運算順序計算 2.基本算術運算子 取餘運算,結果的符號取決於運算子左邊那個數。3.型別轉換 強制轉換 在變數前使用括號進行轉換 int a int 1.2 隱式轉換 系統自...