溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python刪除列為空的行的實(shí)現(xiàn)方法

發(fā)布時(shí)間:2020-07-17 17:26:54 來源:億速云 閱讀:266 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了python刪除列為空的行的實(shí)現(xiàn)方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

1.摘要

dropna()方法,能夠找到DataFrame類型數(shù)據(jù)的空值(缺失值),將空值所在的行/列刪除后,將新的DataFrame作為返回值返回。

2.函數(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。

3.示例

創(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)

python刪除列為空的行的實(shí)現(xiàn)方法

按行刪除:存在空值,即刪除該行

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

python刪除列為空的行的實(shí)現(xiàn)方法

按行刪除:所有數(shù)據(jù)都為空值,即刪除該行

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

python刪除列為空的行的實(shí)現(xiàn)方法

按列刪除:該列非空元素小于5個(gè)的,即刪除該列

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

python刪除列為空的行的實(shí)現(xiàn)方法

設(shè)置子集:刪除第0、5、6、7列都為空的行

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

python刪除列為空的行的實(shí)現(xiàn)方法

設(shè)置子集:刪除第5、6、7行存在空值的列

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

python刪除列為空的行的實(shí)現(xiàn)方法

原地修改

python刪除列為空的行的實(shí)現(xiàn)方法

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

實(shí)例擴(kuò)展:

代碼實(shí)現(xiàn)

import pandas as pd

data = pd.read_excel('test.xlsx',sheet_name='Sheet1')
datanota = data[data['銷售人員'].notna()]
print(datanota)

輸出結(jié)果

D:\Python\Anaconda\python.exe D:/Python/test/EASdeal/test.py
城市 銷售金額 銷售人員
0 北京 10000 張麗麗
1 上海 50000 瀟瀟
2 深圳 60000 笨笨笨
3 成都 40000 達(dá)達(dá)

Process finished with exit code 0

看完上述內(nèi)容,是不是對(duì)python刪除列為空的行的實(shí)現(xiàn)方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI