获取在pandas的各列中具有相同值的行

在pandas中,给定一个DataFrame D:

+-----+--------+--------+--------+   

| | 1 | 2 | 3 |

+-----+--------+--------+--------+

| 0 | apple | banana | banana |

| 1 | orange | orange | orange |

| 2 | banana | apple | orange |

| 3 | NaN | NaN | NaN |

| 4 | apple | apple | apple |

+-----+--------+--------+--------+

当三列或更多列返回以下内容时,如何返回其所有列具有相同内容的行:

+-----+--------+--------+--------+   

| | 1 | 2 | 3 |

+-----+--------+--------+--------+

| 1 | orange | orange | orange |

| 4 | apple | apple | apple |

+-----+--------+--------+--------+

请注意,当所有值均为NaN时,它将跳过行。

如果这仅仅是两列,我通常会这样做,D[D[1]==D[2]]但是我不知道如何针对两列以上的DataFrames进行概括。

回答:

与Andy Hayden的答案类似,检查min是否等于max(然后所有行元素都是重复的):

df[df.apply(lambda x: min(x) == max(x), 1)]

以上是 获取在pandas的各列中具有相同值的行 的全部内容, 来源链接: utcz.com/qa/433275.html

回到顶部