Pandas||過(guò)濾缺失數(shù)據(jù)||pd.dropna()函數(shù)的用法說(shuō)明
看代碼吧~
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) Remove missing values.
pd.dropna()函數(shù)(官方文檔)用于過(guò)濾數(shù)據(jù)中的缺失數(shù)據(jù).
缺失數(shù)據(jù)在pandas中用NaN標(biāo)記.
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5, 3), index = list('abcde'), columns = ['one', 'two', 'three']) # 隨機(jī)產(chǎn)生5行3列的數(shù)據(jù)
df.ix[1, :-1] = np.nan # 將指定數(shù)據(jù)定義為缺失
df.ix[1:-1, 2] = np.nan
print(df)

df.dropna() #刪除所有帶缺失數(shù)據(jù)的行

| parameters | 詳解 |
|---|---|
| axis | default 0指行,1為列 |
| how | {‘a(chǎn)ny', ‘a(chǎn)ll'}, default ‘a(chǎn)ny'指帶缺失值的所有行;'all'指清除全是缺失值的行 |
| thresh | int,保留含有int個(gè)非空值的行 |
| subset | 對(duì)特定的列進(jìn)行缺失值刪除處理 |
| inplace | 這個(gè)很常見,True表示就地更改 |
補(bǔ)充:Python-pandas的dropna()方法-丟棄含空值的行、列
0.摘要
dropna()方法,能夠找到DataFrame類型數(shù)據(jù)的空值(缺失值),將空值所在的行/列刪除后,將新的DataFrame作為返回值返回。
1.函數(shù)詳解
函數(shù)形式:dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
參數(shù):
axis:軸。0或'index',表示按行刪除;1或'columns',表示按列刪除。
how:篩選方式?!產(chǎn)ny',表示該行/列只要有一個(gè)以上的空值,就刪除該行/列;‘a(chǎn)ll',表示該行/列全部都為空值,就刪除該行/列。
thresh:非空元素最低數(shù)量。int型,默認(rèn)為None。如果該行/列中,非空元素?cái)?shù)量小于這個(gè)值,就刪除該行/列。
subset:子集。列表,元素為行或者列的索引。如果axis=0或者‘index',subset中元素為列的索引;如果axis=1或者‘column',subset中元素為行的索引。由subset限制的子區(qū)域,是判斷是否刪除該行/列的條件判斷區(qū)域。
inplace:是否原地替換。布爾值,默認(rèn)為False。如果為True,則在原DataFrame上進(jìn)行操作,返回值為None。
2.示例
創(chuàng)建DataFrame數(shù)據(jù):
import numpy as np
import pandas as pd
a = np.ones((11,10))
for i in range(len(a)):
a[i,:i] = np.nan
d = pd.DataFrame(data=a)
print(d)

按行刪除:存在空值,即刪除該行
# 按行刪除:存在空值,即刪除該行 print(d.dropna(axis=0, how='any'))

按行刪除:所有數(shù)據(jù)都為空值,即刪除該行
# 按行刪除:所有數(shù)據(jù)都為空值,即刪除該行 print(d.dropna(axis=0, how='all'))

按列刪除:該列非空元素小于5個(gè)的,即刪除該列
# 按列刪除:該列非空元素小于5個(gè)的,即刪除該列 print(d.dropna(axis='columns', thresh=5))

設(shè)置子集:刪除第0、5、6、7列都為空的行
# 設(shè)置子集:刪除第0、5、6、7列都為空的行 print(d.dropna(axis='index', how='all', subset=[0,5,6,7]))

設(shè)置子集:刪除第5、6、7行存在空值的列
# 設(shè)置子集:刪除第5、6、7行存在空值的列 print(d.dropna(axis=1, how='any', subset=[5,6,7]))

原地修改
# 原地修改
print(d.dropna(axis=0, how='any', inplace=True))
print("==============================")
print(d)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- pandas中DataFrame檢測(cè)重復(fù)值的實(shí)現(xiàn)
- pandas DataFrame.shift()函數(shù)的具體使用
- pandas取dataframe特定行列的實(shí)現(xiàn)方法
- 利用python Pandas實(shí)現(xiàn)批量拆分Excel與合并Excel
- Pandas DataFrame轉(zhuǎn)換為字典的方法
- 解決python3安裝pandas出錯(cuò)的問(wèn)題
- Pandas爆炸函數(shù)的使用技巧
- 使用pandas或numpy處理數(shù)據(jù)中的空值(np.isnan()/pd.isnull())
- 教你使用Pandas直接核算Excel中的快遞費(fèi)用
- 教你漂亮打印Pandas DataFrames和Series
相關(guān)文章
python 獲取當(dāng)天每個(gè)準(zhǔn)點(diǎn)時(shí)間戳的實(shí)例
今天小編就為大家分享一篇python 獲取當(dāng)天每個(gè)準(zhǔn)點(diǎn)時(shí)間戳的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
使用pycharm設(shè)置控制臺(tái)不換行的操作方法
今天小編就為大家分享一篇使用pycharm設(shè)置控制臺(tái)不換行的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
python將ansible配置轉(zhuǎn)為json格式實(shí)例代碼
這篇文章主要介紹了python將ansible配置轉(zhuǎn)為json格式實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-05-05
對(duì)python打亂數(shù)據(jù)集中X,y標(biāo)簽對(duì)的方法詳解
今天就為大家分享一篇對(duì)python打亂數(shù)據(jù)集中X,y標(biāo)簽對(duì)的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12

