pandas處理丟失資料

2021-10-21 23:19:38 字數 1536 閱讀 5603

有兩種丟失資料:

none是python自帶的,其型別為python object。因此,none不能參與到任何計算中。

object型別的運算要比int型別的運算慢得多

計算不同資料型別求和時間

%timeit np.arange(1e5,dtype=***).sum()

np.nan是浮點型別,能參與到計算中。但計算的結果總是nan

但可以使用np.nan*()函式來計算nan,此時視nan為0。

n = np.array([1

,2,3

,4,5

,np.nan]

)np.nansum(n)

df = pd.dataframe(

)df.index=

['張三'

,'李四'

,'王五'

,'趙六'

]df.iloc[0,

1]= np.nan

df.iloc[3,

2]=none

df

(1)判斷函式

# 檢測列是否有缺失

df.isnull().

any(axis=0)

df.isnull().

any(axis=

1)

(2) 過濾函式

# 預設是行

df.dropna(

)df.dropna(axis=1)

# 單純刪行或列

df.drop(labels=

['張三'

,'趙六'

],axis=0)

df.drop(labels=

['數學'

,'英語'

],axis=

1)

可以選擇過濾的是行還是列(預設為行)

也可以選擇過濾的方式 how = 『all』

df.dropna(axis=

1, how=

'any'

,subset=

['張三'

,'趙六'])

df.dropna(axis=

0, how=

'any'

,subset=

['數學'

,'英語'

])

(3) 填充函式 series/dataframe

df.fillna(value=

100)

df['數學'

].fillna(value=

100)

# method :

# 根據前一排的填充

df.fillna(method=

'ffill'

,axis=0)

df.fillna(method=

'pad'

,axis=

1)

對於dataframe來說,還要選擇填充的軸axis。記住,對於dataframe來說:

pandas處理丟失資料

有兩種丟失資料的方式 none np.nan nan 1,none none是python當中自帶的,型別為python object,所以,none是不能參與到任何的計算當中的 2,np.nan np.nan是浮點型別,能參與到計算當中,但是計算的結果為nan pandas中none與np.nan...

Pandas處理丟失資料

pandas處理丟失資料 1 建立含nan的矩陣 dates pd.date range 20130101 periods 6 df pd.dataframe np.arange 24 reshape 6,4 index dates,columns a b c d df.iloc 0,1 np.na...

pandas處理丟失資料

pandas將none和nan視為可交換的,它們都可以用來指示丟失的資料。none可以代替丟失值 哨兵值 並不適合所有情況,只能用於陣列的型別為物件的情況。none會導致一些聚合操作,比如sum 和min 會報錯。nan 代替丟失值 另外一中哨兵值 一種特殊的浮點型資料,不管什麼操作,只要有nan,...