geekdoc-python-zh/docs/askpython/unique-values-from-a-datafr...

3.6 KiB
Raw Permalink Blame History

如何在 Python 中从一个数据帧中获取唯一值?

原文:https://www.askpython.com/python/built-in-methods/unique-values-from-a-dataframe

读者朋友们,你们好!在本文中,我们将关注如何在 Python 中从数据帧中获取唯一值。

所以,让我们开始吧!


什么是 Python 数据帧?

Python Pandas 模块为我们提供了各种数据结构和函数来存储和操作大量数据。

DataFrame 是 Pandas 模块提供的一个数据结构化工具,用于处理多维度的大型数据集,如巨大的 csv 或 excel 文件等。

由于我们可以在一个数据框中存储大量数据,因此我们经常会遇到这样的情况:从可能包含冗余或重复值的数据集中查找唯一的数据值。

这就是pandas.dataframe.unique() function出现的时候。

现在让我们在下一节集中讨论 unique()函数的功能。


Python pandas.unique()函数从数据帧中获取唯一值

pandas.unique() function返回数据集中存在的唯一值。

它基本上使用一种基于哈希表的技术,从数据帧/系列数据结构中的值集中返回非冗余值。

让我们通过一个例子来理解独特功能的作用

考虑包含如下值的数据集:1232432

现在,如果我们应用 unique()函数,我们将获得以下结果:1234。这样我们可以很容易地找到数据集的唯一值。

现在,让我们在下一节讨论 pandas.unique()函数的结构。


Python unique()函数的语法

看看下面的语法:

pandas.unique(data)

当数据是一维的时,上述语法是有用的。它代表一维数据值中的唯一值(序列数据结构)。

但是,如果数据包含不止一个维度,即行和列,该怎么办呢?是的,我们在下面的语法中有一个解决方案

pandas.dataframe.column-name.unique()

这种语法使我们能够从数据集的特定列中找到唯一的值。

数据最好是分类类型,这样唯一函数才能获得正确的结果。此外,数据按照其在数据集中出现的顺序显示。


熊猫系列的 Python unique()函数

在下面的例子中,我们创建了一个包含冗余值的列表。

此外,我们已经将该列表转换为一个系列数据结构,因为它只有一个维度。最后,我们应用了 unique()函数从数据中获取唯一值。

举例:

lst = [1,2,3,4,2,4]
df = pandas.Series(lst)
print("Unique values:\n")
print(pandas.unique(df))

输出:

Unique values:
[1 2 3 4]


Python unique()函数与熊猫数据帧

让我们首先将数据集加载到如下所示的环境中

import pandas
BIKE = pandas.read_csv("Bike.csv")

在 这里可以找到数据集

pandas.dataframe.nunique() function代表数据帧每一列中的唯一值。

BIKE.nunique()

输出:

season          4
yr              2
mnth           12
holiday         2
weathersit      3
temp          494
hum           586
windspeed     636
cnt           684
dtype: int64

此外,我们使用以下代码表示了“季节”列中呈现的独特值

BIKE.season.unique()

输出:

array([1, 2, 3, 4], dtype=int64)


结论

到此,我们就结束了这个话题。如果你遇到任何问题,欢迎在下面评论。

更多与 Python 相关的帖子,敬请关注,在此之前,祝你学习愉快!!🙂