首页  >  文章  >  后端开发  >  如何检索 Pandas DataFrame 中具有唯一值的行?

如何检索 Pandas DataFrame 中具有唯一值的行?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-04 04:11:30512浏览

How to Retrieve Rows with Unique Values in a Pandas DataFrame?

通过不同列值检索行:综合指南

许多编程场景需要根据特定列中的唯一值提取行。本文探讨了如何使用 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 方法提供了额外的选项自定义处理重复项的选项:

  • keep='last':保留每个唯一值的最后一次出现。
  • keep=False :完全删除所有重复的行。

以下是演示这些选项的示例:

<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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn