获取在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