您好,登錄后才能下訂單哦!
這篇文章主要講解了python刪除列為空的行的實現方法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
1.摘要
dropna()方法,能夠找到DataFrame類型數據的空值(缺失值),將空值所在的行/列刪除后,將新的DataFrame作為返回值返回。
2.函數詳解
函數形式:dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
參數:
axis:軸。0或'index',表示按行刪除;1或'columns',表示按列刪除。
how:篩選方式。‘any',表示該行/列只要有一個以上的空值,就刪除該行/列;‘all',表示該行/列全部都為空值,就刪除該行/列。
thresh:非空元素最低數量。int型,默認為None。如果該行/列中,非空元素數量小于這個值,就刪除該行/列。
subset:子集。列表,元素為行或者列的索引。如果axis=0或者‘index',subset中元素為列的索引;如果axis=1或者‘column',subset中元素為行的索引。由subset限制的子區域,是判斷是否刪除該行/列的條件判斷區域。
inplace:是否原地替換。布爾值,默認為False。如果為True,則在原DataFrame上進行操作,返回值為None。
3.示例
創建DataFrame數據:
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'))
按行刪除:所有數據都為空值,即刪除該行
# 按行刪除:所有數據都為空值,即刪除該行 print(d.dropna(axis=0, how='all'))
按列刪除:該列非空元素小于5個的,即刪除該列
# 按列刪除:該列非空元素小于5個的,即刪除該列 print(d.dropna(axis='columns', thresh=5))
設置子集:刪除第0、5、6、7列都為空的行
# 設置子集:刪除第0、5、6、7列都為空的行 print(d.dropna(axis='index', how='all', subset=[0,5,6,7]))
設置子集:刪除第5、6、7行存在空值的列
# 設置子集:刪除第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)
實例擴展:
代碼實現
import pandas as pd data = pd.read_excel('test.xlsx',sheet_name='Sheet1') datanota = data[data['銷售人員'].notna()] print(datanota)
輸出結果
D:\Python\Anaconda\python.exe D:/Python/test/EASdeal/test.py
城市 銷售金額 銷售人員
0 北京 10000 張麗麗
1 上海 50000 瀟瀟
2 深圳 60000 笨笨笨
3 成都 40000 達達Process finished with exit code 0
看完上述內容,是不是對python刪除列為空的行的實現方法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。