python - 返回一个 bool 数据框

标签 python pandas where-clause

我想用 bool 值创建一个 DataFrame,其中 np.nan == False 和任何正实数值 == True。

import numpy as np
import pandas as pd
DF = pd.DataFrame({'a':[1,2,3,4,np.nan],'b':[np.nan,np.nan,np.nan,5,np.nan]})

DF.apply(bool) # Does not work
DF.where(DF.isnull() == False) # Does not work
DF[DF.isnull() == False] # Does not work

最佳答案

很奇怪,但它看起来像 - np.isnan(df) 以压倒性优势胜过 pd.notnull(df):

In [1]: import pandas as pd

In [2]: import numpy as np

In [3]: df = pd.DataFrame({'a':[1,2,3,4,np.nan],'b':[np.nan,np.nan,np.nan,5,np.nan]})


In [4]: - np.isnan(df)
Out[4]: 
       a      b
0   True  False
1   True  False
2   True  False
3   True   True
4  False  False

In [5]: %timeit - np.isnan(df)
10000 loops, best of 3: 159 us per loop

In [6]: %timeit pd.notnull(df)
1000 loops, best of 3: 1.22 ms per loop

关于python - 返回一个 bool 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15061442/

相关文章:

python - 创建自定义报告 odoo 9

Pandas 获取以时间为索引的特定日期的行数

php - 显示特定用户的 SQL 表数据

java - 其中查询在 Grails 中无法正常工作

python - 套接字对象可以与 Python 的多处理共享吗? socket.close() 似乎不起作用

python - 使用匿名lambda实现阶乘函数的python代码的解释是什么

python - Pandas 中 1 列中的 2 个数字相加和相减

mysql - 如何计算有多少 worker 正在休假 - mysql

python - 未找到模块错误 : No module named 'chart_studio'

python - 为什么数据透视表中有 NaN?