【发布时间】:2014-11-11 19:44:08
【问题描述】:
我有一个看起来像这样的数据框:
NUM A B C D E F
p1 NaN -1.183 NaN NaN NaN 1.829711
p5 NaN NaN NaN NaN 1.267 -1.552721
p9 1.138 NaN NaN -1.179 NaN 1.227306
在 F 列和至少一个其他 A-E 列中始终存在一个非 NaN 值。
我想创建一个子表,其中仅包含那些在列中包含非 NaN 值的某些组合的行。有许多这些所需的组合,包括双胞胎和三胞胎。以下是我想要提取的三种此类组合的示例:
- A 列和 B 列中包含非 NaN 值的行
- 在 C 和 D 中包含非 NaN 值的行
- 在 A & B & C 中包含非 NaN 值的行
我已经从question 中了解了 np.isfinite 和 pd.notnull 命令,但我不知道如何将它们应用于列组合。
此外,一旦我有一个用于删除与我所需组合之一不匹配的行的命令列表,我不知道如何告诉 Pandas 仅在它们与任何所需组合不匹配时才删除行。
【问题讨论】:
-
如果您添加代码为其他人重现数据框,那就太好了。这样,我们可以直接回答问题,而不是花时间尝试设置示例数据框。
-
我认为 Taha 的答案有我正在寻找的部分。酷。
标签: python pandas combinations dataframe