python - 如果在 first_valid_date 之后,则从数据帧中获取布尔数据帧,否则为 false
问题描述
我有一个像这样的几个 NaN 的数据框:
A B C
2021-08-31 1.0 NaN NaN
2021-09-01 2.0 NaN 5.0
2021-09-02 4.0 3.0 NaN
2021-09-03 NaN 7.0 NaN
2021-09-06 2.0 5.0 NaN
2021-09-07 9.0 NaN 5.0
2021-09-08 4.0 5.0 NaN
我想要一个数据框,对于每一列,如果元素是 first_valid_date 或之后,则为 True,否则为 False:
A B C
2021-08-31 True False False
2021-09-01 True False True
2021-09-02 True True True
2021-09-03 True True True
2021-09-06 True True True
2021-09-07 True True True
2021-09-08 True True True
解决方案
您可以fillna()
使用ffill
逐行填充所有值。然后,调用df.notna()
将返回True
非缺失值和False
缺失值:
>>> df.fillna(method='ffill').notna()
A B C
date
31/08/2021 True False False
01/09/2021 True False True
02/09/2021 True True True
03/09/2021 True True True
06/09/2021 True True True
07/09/2021 True True True
08/09/2021 True True True
推荐阅读
- python - 如何使用使用 Vimba SDK 的 Allied Vision 相机在 tkinter 中预览流式图像?
- node.js - 如何从 NPM 包内的主进程设置 process.env?
- node.js - 开玩笑 - 包含在 promisify 中的模拟 zlib 函数不起作用
- python - 使用 Python 在 excel 表单控件中获取值
- rust - `dyn Dog` 类型的值的大小在编译时和其他 std::marker::Sized 恶作剧中是未知的
- c - 如何使用scanf从特定输入文件格式中获取数据跳过行
- reactjs - 输入字段中的 if 语句
- java - Spring Boot - Mockito:检测到未完成的存根
- prettier - npx mrm lint-staged 错误,“未找到预设“默认”。”
- kubernetes - 主机目录未显示来自 Kubernetes 持久卷声明的文件