判断Series是否为空

本文介绍了如何在Pandas中使用empty属性和isnull(),notnull()方法来判断Series是否为空,包括当Series不包含任何元素和元素全为NaN或None的情况。
摘要由CSDN通过智能技术生成

在pandas中,当且仅当一个Series不包含任何元素,才被认为是“空”的,而Series内元素全为NaN或None也会被认为非空。

一、Series不包含任何元素

1、使用empty属性来判断

empty属性会返回一个布尔值,如果Series为空,它返回True,否则返回False;

import pandas as pd  
  
# 创建一个空的Series  
s1 = pd.Series()  
print(s1.empty)  # 输出: True  
  
# 创建一个非空的Series  
s2 = pd.Series([1, 2, 3, 4, 5])  
print(s2.empty)  # 输出: False

2、判断其长度是否为0

if len(s1) == 0:  
    print("Series为空")  
else:  
    print("Series不为空")

二、Series内元素全为NaN或None

Series对象是DataFrame的一列,判断是否全为空

1、使用all()方法结合isnull()isna()方法

isnull()isna()会返回一个布尔Series,表示每个元素是否为空(NaN或None),而all()会检查Series中的所有元素是否都为True。如果列中的所有元素都是空的,all()将返回True

import pandas as pd  
  
# 创建一个包含空值的DataFrame  
df = pd.DataFrame({  
    'A': [1, 2, 3],  
    'B': [None, None, None],  
    'C': [pd.NA, pd.NA, pd.NA]  # pandas 1.0.0及更高版本中的缺失值表示  
})  
  
# 检查列B是否全为空  
print(df['B'].isnull().all())  # 输出: True  
  
# 检查列C是否全为空  
print(df['C'].isna().all())  # 输出: True  
  
# 使用empty属性检查列B  
print(df['B'].empty)  # 输出: False  
  
# 使用empty属性检查整个DataFrame(这将检查是否有任何列或行)  
print(df.empty)  # 输出: False

2、使用any()方法结合notnull()或notna()方法

notnull()notna()方法会返回一个布尔Series,其中非空元素为True,空元素为False。然后,any()方法会检查Series中是否有至少一个True值。

import pandas as pd  
  
# 创建一个包含空值和非空值的DataFrame  
df = pd.DataFrame({  
    'A': [1, 2, 3],  
    'B': [None, 2, None],  
    'C': [pd.NA, pd.NA, 4]  # pandas 1.0.0及更高版本中的缺失值表示  
})  
  
# 检查列B是否不全为空  
print(df['B'].notnull().any())  # 输出: True  
  
# 检查列C是否不全为空  
print(df['C'].notna().any())  # 输出: True  
  
# 检查列A是否不全为空(实际上这一列全都不为空)  
print(df['A'].notnull().any())  # 输出: True  
  
# 检查列D(不存在的列)是否不全为空  
print(df['D'].notnull().any())  # 输出: False,因为列D不存在

  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值