【发布时间】:2019-12-27 06:57:50
【问题描述】:
假设一个数据帧
C1 C2 C3
1 NaN NaN NaN
2 20.1 15 200
3 NaN 12 100
4 22.5 8 80
我想根据行其余部分的汇总布尔值创建一个新列。例如,是否有任何值 NaN?在这种情况下,我的新列值为该行的“False”。
或者,也许,所有的值都是 NaN?在这种情况下,我可能希望新列显示为 False,否则为 True(我们确实有一些值)
我考虑使用df.notnan() 创建一个布尔数据框,
C1 C2 C3
1 False False False
2 True True True
3 False True True
4 True True True
我确定我只是遗漏了一些简单的东西,但我想不出一种方法来基于对每一行中的现有项目进行 OR-ing 来创建第四列。
另外,一个通用的解决方案会很好,不需要构建一个临时的布尔值 DF。
背景:我有一个数据集。营养值只是偶尔采样,因此许多行不包含这些值。我想要一个“Nutrients Sampled”列,其中的值为 True 或 False,具体取决于我是否可以期望在此记录中看到任何营养样本数据。有 6 种可能的营养素,我不想检查所有 6 列。
我可以编写检查所有 6 列的代码;我似乎无法创建一个具有真值的新列。
【问题讨论】: