美图欣赏2022/06/18

数据准备

import pandas as pddf = pd.DataFrame([['ABC','Good',1],['FJZ',None,2],['FOC','Good',None]],columns=['Site','Remark','Quantity'])

df

注意:上述Remark字段中的数据类型为字符串str类型,空值取值为'None',Quantity字段中的数据类型为数值型,空值取值为nan


1.筛选指定单列中有空值的数据行

# 语法
df[pd.isnull(df[col])]
df[df[col].isnull()] 
# 获取Remark字段为None的行
df_isnull_remark = df[df['Remark'].isnull()]
# 获取Quantity字段为None的行
df_isnull_quantity = df[df['Quantity'].isnull()]

df_isnull_remark

df_isnull_quantity

提示

筛选指定单列中没有空值的数据行

# 语法
df[pd.notnull(df[col])]
df[df[col].notnull()] 
# 获取Remark字段为非None的行
df_notnull_remark = df[df['Remark'].notnull()]
# 获取Quantity字段为非None的行
df_notnull_quantity = df[df['Quantity'].notnull()]

df_notnull_remark

df_notnull_quantity 

2.筛选指定多列中/全部列中满足所有列有空值的数据行 

# 语法
df[df[[cols]].isnull().all(axis=1)]
df[pd.isnull(df[[cols]]).all(axis=1)]

在df基础上增加一行生成df1

df1 = pd.DataFrame([['ABC','Good',1],['FJZ',None,2],['FOC','Good',None],[None,None,None]],columns=['Site','Remark','Quantity'])

# 获取df1所有列有空值的数据行
all_df_isnull = df1[df1[['Site','Remark','Quantity']].isnull().all(axis=1)]

all_df_isnull

提示

筛选指定多列中/全部列中满足所有列没有空值的数据行

# 语法
df[df[[cols]].notnull().all(axis=1)]
df[pd.notnull(df[[cols]]).all(axis=1)]
# 获取df1所有列没有空值的数据行
all_df_notnull = df1[df1[['Site','Remark','Quantity']].notnull().all(axis=1)]

all_df_notnull

3.筛选指定多列中/全部列中满足任意一列有空值的数据行 

# 语法
df[df[[cols]].isnull().any(axis=1)]
df[pd.isnull(df[[cols]]).any(axis=1)]

df1(数据源)

# 获取df1所有列中满足任意一列有空值的数据行
any_df_isnull = df1[df1[['Site','Remark','Quantity']].isnull().any(axis=1)] 

any_df_isnull

提示

筛选指定多列中/全部列中满足任意一列没有空值的数据行

# 语法
df[df[[cols]].notnull().any(axis=1)]
df[pd.notnull(df[[cols]]).any(axis=1)]
# 获取df1所有列中满足任意一列没有空值的数据行
any_df_notnull = df1[df1[['Site','Remark','Quantity']].notnull().any(axis=1)]

any_df_notnull


Numpy里边查找NaN值的话,使用np.isnan()

Pabdas里边查找NaN值的话,使用.isna()或.isnull()

import pandas as pd
import numpy as npdf = pd.DataFrame({'site1': ['a', 'b', 'c', ''],'site2': ['a', np.nan, '', 'd'],'site3': ['a', 'b', 'c', 'd']})

df

df['contact_site'] = df['site1'] + df['site2'] + df['site3']

新增数据列后的df 

res1 = df[df['site2'].isnull()]
res2 = df[df['site2'].isna()]
res3 = df[df['site2']=='']

res1

res2

res3

注意:res1和res2的结果相同,说明.isna()和.isnull()的作用等效

[Pandas] 筛选DataFrame含有空值的数据行相关推荐

  1. pandas使用query函数和sample函数、使用query函数筛选dataframe中的特定数据行并使用sample函数获取指定个数的随机抽样数据

    pandas使用query函数和sample函数.使用query函数筛选dataframe中的特定数据行并使用sample函数获取指定个数的随机抽样数据(query dataframe and ran ...

  2. R语言使用subset函数基于组合逻辑筛选dataframe符合条件的数据行(select observations)、并指定需要保留的dataframe数据列或者字段

    R语言使用subset函数基于组合逻辑筛选dataframe符合条件的数据行(select observations).并指定需要保留的dataframe数据列或者字段 目录

  3. pandas为dataframe添加新的数据行(rows)、在dataframe后面纵向添加一行数据(数据为列表list形式)、列有不匹配将会使用NA值进行填补

    pandas为dataframe添加新的数据行(rows).在dataframe后面纵向添加一行数据(数据为列表list形式).列有不匹配将会使用NA值进行填补 目录

  4. pandas筛选dataframe列名称中包含特定字符串的数据列(select columns contains specifiec substring in dataframe)

    pandas筛选dataframe列名称中包含特定字符串的数据列(select columns contains specifiec substring in dataframe) 目录 pandas ...

  5. python中Pandas之DataFrame索引、选取数据

    目录 1.索引是什么 1.1 认识索引 1.2 自定义索引 2. 索引的简单使用 2.1 列索引 2.1.2 使用loc和iloc 2.2 行索引 2.2.1 使用[ : ] 2.2.2 使用.loc ...

  6. pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list)

    pandas将dataframe中的特定数据列的内容转化为列表list数据(convert dataframe column values into a list) 目录 pandas将datafra ...

  7. R语言筛选dataframe分组中值最大的行实战(Select the row with the maximum value in each group)

    R语言筛选dataframe分组中值最大的行实战(Select the row with the maximum value in each group) 目录 R语言筛选dataframe分组中值最 ...

  8. R筛选dataframe时间范围内的数据

    R筛选dataframe时间范围内的数据 目录 R筛选dataframe时间范围内的数据 两个日期之间的数据 某一日期之后的子集

  9. R语言dplyr包的select函数和everthing函数筛选dataframe中的所有数据列(all columns of the dataframe)

    R语言dplyr包的select函数和everthing函数筛选dataframe中的所有数据列(all columns of the dataframe) 目录 R语言dplyr包的select函数 ...

最新文章

  1. .Net Core Cors中间件解析
  2. 你想过自己注定是个普通人吗?
  3. c语言单片机串口通讯,单片机C语言之串口通信协议
  4. SQL命令向表中添加列
  5. 图谱论(Spectral Graph Theory)基础
  6. yii2 获取模块名,控制名,动作方法名
  7. 采用POD以及DMD方法实现圆柱绕流流动分解(DMD篇)
  8. bat脚本注释多行_bat批处理的注释语句
  9. linux u盘 随身,教你安装CentOS到U盘,制作随身Linux系统
  10. SMC在线气动制图软件PneuDraw
  11. CodeForces - 1312E Array Shrinking
  12. CSS3旋转按钮html,一款纯css3实现的翻转按钮_html/css_WEB-ITnose
  13. 遭遇Trojan.PSW.OnlineGames、Trojan.HiJack.a、Trojan.PSW.ZhuXian.b等
  14. 绘制遗传图谱工具——MapChart
  15. 国内外大厂扑向AR-HUD,但抵达“智能汽车终局”仍隔数层纱
  16. Python学习之路:通过分片的方式修改列表的技巧(拓展知识)
  17. Carmack(卡马克)传奇的3D引擎开源代码
  18. MATLAB与SolidWorks联合仿真(1)
  19. 写得真励志,深度发展,成为不可替代的技术员
  20. 对于干涉仪二维测向的一些要点

热门文章

  1. java毫秒级别定时器
  2. 从地理空间视角,看全球第四大湾区
  3. MOS管之热设计热处理
  4. 回溯法与分枝—限界法的区别以及分支限界法分类以及LC学习
  5. 视频如何转换为gif动图?仅需3步轻松转换动图
  6. 解决phpstorm编辑html卡顿问题
  7. php展厅播控系统,展厅中控系统
  8. MST1163,摩托车大功率闪光器
  9. 华为ensp BGP 练习实验
  10. 华云大咖说 | 对象存储在金融行业的应用