首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果在pandas dataframe中不为空或者不为空,如何查找if值?

问如果在pandas dataframe中不为空或者不为空,如何查找if值?
EN

Stack Overflow用户
提问于 2021-01-13 14:03:39
回答 2查看 977关注 0票数 0

如何确定一个字段在pandas数据框中是否不为空(‘’)且不为空?

我正在使用if not value and pd.notna(value):

是正确的,还是有更好的API可以直接处理这个逻辑?

EN

回答 2

Stack Overflow用户

发布于 2021-01-13 15:55:44

如何将空值更改为NaN,然后检查。Kr。

代码语言:javascript
复制
df = pd.DataFrame({"a": [np.nan, 1, ""]})
df = df.replace('', np.nan)
print(df.isnull())

它返回:

代码语言:javascript
复制
       a
0   True
1  False
2   True

另一种方法是通过空''填充NaN,然后检查:

代码语言:javascript
复制
df = pd.DataFrame({"a": [np.nan, 1, ""]})
df = df.fillna('')
print(df=='')

它返回:

代码语言:javascript
复制
       a
0   True
1  False
2   True
票数 1
EN

Stack Overflow用户

发布于 2021-01-13 15:56:51

您可以将数据帧中的字段替换为空字符串或仅包含空格的np.nan或None,然后使用notna查找有效值。

代码语言:javascript
复制
df.replace(r'^\s*$', np.nan, regex=True, inplace=True)

此外,if not value and pd.notna(value)不适用于空字符串或仅包含空格的字段:

代码语言:javascript
复制
value = ''
not value and pd.notna(value)  # this is True
value = None
not value and pd.notna(value)  # this is False
value = np.nan
not value and pd.notna(value)  # this is False
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65696475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档