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())
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的布尔逆
https://blog.csdn.net/qq_41185868/article/details/108504178
20201215
csv里面是空值 读出来就是这样
df.dropna() 可以删除带有nan值的任意行
左边的空值对应 右边的表现形式
df.dropna() 不能删除上述形式的空值