pandas dataframe 删除带空值的行 各种空值 (dropna()、isna()、isnull()、fillna())
假設拿到一個10萬行的數據后,通過isnull我們發現某列有幾個空值,要把該列空值所在行刪除怎么操作?用dropna()會刪除所有有空值的行,請看下面實例。
區分 None,null,NULL,nan, “null”, " “, “”, ‘’, , b’’, u”" 1.Python 中 None 是 NoneType, 沒有長度, 表示空值, 布爾值為False, 即 None.bool() == False 2. null 和 NULL 表示數據庫中的空值, python中不存在這兩者。 3.在pandas 中 NaN 是缺失值的意思。 NaN 在python 中 導入用 from numpy import nan 或者 from numpy import NaN, 類型用 type() 判斷為 float, 值可以用math.isnan(),numpy.isnan(),pandas.isna(), pandas.isnull()判斷。在python3.7 中NaN和None都可以是float類型,都可以和數值做加法運算。 3. “null” 表示長度為4,由字母null組成的字符串 4. “” 和’’ 都表示空字符串,長度為0 5. " “表示長度為1的空格字符 6. 反引號在linux 命令中可以傳遞變量的值,`` 在linux中表示空變量
7. b’’ 表示 bytes 字節編碼空字符串
8. u”" 表示unicode 類型空字符串
附圖中代碼在python3.7 中運行
Python之pandas:pandas中缺失值與空值處理的簡介及常用函數(dropna()、isna()、isnull()、fillna())
pandas中缺失值與空值處理的簡介
data_df['col01'].isnull()
data_df[data_df['col02'].notnull()]
data_df['col01'].fillna(value=0)
data_df['col01'].dropna() data_df.set_index(['time', 'user'], inplace=True)
data_df.sort_index(inplace=True)
1、缺失值統計并缺失率可視化
#統計缺失字段的缺失率
from DataScience.DataVisualize_Functions import NullValueCountAndPlot,NullValueCountRatio_AndPlot
NullValueCountAndPlot('',data_X)
NullValueCountRatio_AndPlot('',data_X)
dropna()、isna()、isnull()、fillna()使用案例
import pandas as pd
import numpy as npcontents={"name": ['Bob', 'LiSa', 'Mary', 'Alan'],"ID": [1, 2, 3, None], # 輸出 NaN"age": [np.nan, 28, 38 , '' ], # 輸出 "born": [pd.NaT, pd.Timestamp("1990-01-01"), pd.Timestamp("1980-01-01"), ''], # 輸出 NaT"sex": ['男', '女', '女', None,], # 輸出 None"hobbey":['打籃球', '打羽毛球', '打乒乓球', '',], # 輸出 }
data_frame = pd.DataFrame(contents)
data_frame.to_excel("data_Frame.xls")
print(data_frame)#dropna 函數:自動刪除空值(np.nan、pd.Na、'')所在行的數據
data_frame_temp=data_frame
res01= data_frame_temp.dropna()
print('dropna():','\n',res01)# 去掉包含缺失值的任何一行
data_frame_temp.dropna(how='any') #表示去掉所有包含缺失值的行#isna 函數:
res01=data_frame.isna()
print('isna():','\n',res01)#isnull 函數:
res01= data_frame.isnull()
print('isnull():','\n',res01)#fillna 函數:用0填充
res01= data_frame.fillna(0)
print('fillna():','\n',res01)
pandas中缺失值與空值處理的常用函數(dropna()、fillna()、isnull()、isna())
1、dropna() 刪除缺失值
DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)[source]
2、isna()顯示缺失值、notna() #isna的布爾逆
3、isnull() 檢測缺失值
4、fillna() 填充缺失值
https://blog.csdn.net/qq_41185868/article/details/108504178
20201215
csv里面是空值 讀出來就是這樣
df.dropna() 可以刪除帶有nan值的任意行
左邊的空值對應 右邊的表現形式
df.dropna() 不能刪除上述形式的空值
df!=’’ 可以直接找出所有的‘’的空值 或者 按列查找出對應的行索引
isnull() 只能找出對應 nan 的空值 ‘’ 這種不能找出
總結
以上是生活随笔為你收集整理的pandas dataframe 删除带空值的行 各种空值 (dropna()、isna()、isnull()、fillna())的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: array.array python y
- 下一篇: lightgbm保存模型参数