根据不同的列值检索行
在数据操作场景中,根据特定列中的唯一值提取行变得至关重要。本文将演示如何使用 Pandas(一个流行的用于数据操作和分析的 Python 库)来实现此目的。
问题陈述
考虑一个具有两列的数据框,COL1 和COL2。任务是检索 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() 方法
Pandas 库提供了一个名为 drop_duplicates() 的便捷方法来完成此任务。通过在参数中指定列名,您可以检查重复项,并根据您的要求删除或保留特定行。
例如,要根据 COL2 值删除所有重复行,请使用以下代码:
<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]}) df = df.drop_duplicates('COL2') # Displaying the result print(df)</code>
这将输出 COL2 中具有唯一值的数据帧:
COL1 | COL2 |
---|---|
a.com | 22 |
b.com | 45 |
c.com | 34 |
f.com | 56 |
此外,您可以指定 keep 参数来控制要保留哪些重复行。默认情况下,它保留第一个出现的位置(“first”),但您也可以保留最后一个出现的位置(“last”)或删除所有重复项(“False”)。
<code class="python"># Keep first occurrence df = df.drop_duplicates('COL2', keep='first') # Keep last occurrence df = df.drop_duplicates('COL2', keep='last') # Remove all duplicates df = df.drop_duplicates('COL2', keep=False)</code>
以上是如何根据 Pandas 中不同的列值检索行?的详细内容。更多信息请关注PHP中文网其他相关文章!