通过不同列值检索行:综合指南
许多编程场景需要根据特定列中的唯一值提取行。本文探讨了如何使用 Python 中广泛使用的 Pandas 库来实现此目的。
查询:
考虑一个包含两列 COL1 和 COL2 的数据集,如图所示下面:
COL1 COL2 a.com 22 b.com 45 c.com 34 e.com 45 f.com 56 g.com 22 h.com 45
目标是仅检索 COL2 包含唯一值的行。预期输出为:
COL1 COL2 a.com 22 b.com 45 c.com 34 f.com 56
解决方案:
Pandas 中的 drop_duplicates 方法提供了一种简单的方法来消除基于一列或多列的重复行。以下是如何利用它来完成此特定任务:
<code class="python">import pandas as pd df = pd.DataFrame({'COL1': ['a.com', 'b.com', 'c.com', 'e.com', 'f.com', 'g.com', 'h.com'], 'COL2': [22, 45, 34, 45, 56, 22, 45]}) # Keep only the first occurrence of each unique value in COL2 df = df.drop_duplicates('COL2') print(df)</code>
输出:
COL1 COL2 0 a.com 22 1 b.com 45 2 c.com 34 4 f.com 56
其他选项:
drop_duplicates 方法提供了额外的选项自定义处理重复项的选项:
以下是演示这些选项的示例:
<code class="python"># Keep only the last occurrence of each unique value in COL2 df = df.drop_duplicates('COL2', keep='last') # Remove all duplicate rows from the dataset df = df.drop_duplicates('COL2', keep=False)</code>
以上是如何检索 Pandas DataFrame 中具有唯一值的行?的详细内容。更多信息请关注PHP中文网其他相关文章!