如何使用pandas库的unique()函数来查看数据集中的唯一值

如何使用pandas库的unique()函数来查看数据集中的唯一值

参考:pandas unique values

在数据分析中,我们经常需要查看数据集中的唯一值。例如,我们可能想知道一个数据集中有多少个不同的用户,或者一个产品在多少个不同的地点销售。在这种情况下,我们需要使用pandas库的unique()函数。本文将详细介绍如何使用pandas库的unique()函数来查看数据集中的唯一值。

1. 使用pandas的unique()函数

pandas的unique()函数可以用来获取数据集中的唯一值。这个函数返回的是一个数组,包含了数据集中的所有唯一值。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

print(df['name'].unique())

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用unique()函数查看’name’列中的唯一值。

2. 使用pandas的nunique()函数

除了unique()函数,pandas还提供了nunique()函数,这个函数返回的是数据集中唯一值的数量。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

print(df['name'].nunique())

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用nunique()函数查看’name’列中的唯一值的数量。

3. 使用pandas的value_counts()函数

除了查看唯一值,我们还可能想知道每个唯一值出现的次数。在这种情况下,我们可以使用pandas的value_counts()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

print(df['name'].value_counts())

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用value_counts()函数查看’name’列中每个唯一值出现的次数。

4. 使用pandas的drop_duplicates()函数

有时,我们可能想要删除数据集中的重复值。在这种情况下,我们可以使用pandas的drop_duplicates()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

df = df.drop_duplicates()

print(df)

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用drop_duplicates()函数删除了数据框中的重复值。

5. 使用pandas的duplicated()函数

有时,我们可能想要查看数据集中哪些值是重复的。在这种情况下,我们可以使用pandas的duplicated()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

print(df.duplicated())

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用duplicated()函数查看了数据框中哪些值是重复的。

6. 使用pandas的groupby()函数

有时,我们可能想要按照某个列的唯一值进行分组。在这种情况下,我们可以使用pandas的groupby()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

df_grouped = df.groupby('name')

print(df_grouped.size())

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用groupby()函数按照’name’列的唯一值进行了分组,并使用size()函数查看了每个组的大小。

7. 使用pandas的pivot_table()函数

有时,我们可能想要创建一个透视表,以查看每个唯一值的统计信息。在这种情况下,我们可以使用pandas的pivot_table()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

pivot_table = df.pivot_table(index='name', values='age', aggfunc='mean')

print(pivot_table)

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用pivot_table()函数创建了一个透视表,以查看每个’name’的平均’age’。

8. 使用pandas的crosstab()函数

有时,我们可能想要创建一个交叉表,以查看两个列的唯一值之间的关系。在这种情况下,我们可以使用pandas的crosstab()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

cross_table = pd.crosstab(df['name'], df['age'])

print(cross_table)

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用crosstab()函数创建了一个交叉表,以查看’name’和’age’之间的关系。

9. 使用pandas的get_dummies()函数

有时,我们可能想要将一个包含唯一值的列转换为多个二进制列。在这种情况下,我们可以使用pandas的get_dummies()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

df_dummies = pd.get_dummies(df['name'])

print(df_dummies)

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用get_dummies()函数将’name’列转换为了多个二进制列。

10. 使用pandas的cut()函数

有时,我们可能想要将一个连续的数值列转换为多个唯一的区间。在这种情况下,我们可以使用pandas的cut()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

df['age_bin'] = pd.cut(df['age'], bins=[10, 20, 30])

print(df)

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用cut()函数将’age’列转换为了两个唯一的区间。

11. 使用pandas的qcut()函数

有时,我们可能想要将一个连续的数值列转换为多个唯一的分位数。在这种情况下,我们可以使用pandas的qcut()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

df['age_quantile'] = pd.qcut(df['age'], q=4)

print(df)

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用qcut()函数将’age’列转换为了四个唯一的分位数。

12. 使用pandas的replace()函数

有时,我们可能想要替换数据集中的某些唯一值。在这种情况下,我们可以使用pandas的replace()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

df['name'] = df['name'].replace('Tom', 'Thomas')

print(df)

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用replace()函数将’name’列中的’Tom’替换为了’Thomas’。

13. 使用pandas的map()函数

有时,我们可能想要根据一个映射关系替换数据集中的某些唯一值。在这种情况下,我们可以使用pandas的map()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

name_map = {'Tom': 'Thomas', 'Nick': 'Nicholas', 'John': 'Jonathan'}

df['name'] = df['name'].map(name_map)

print(df)

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用map()函数根据一个映射关系替换了’name’列中的值。

14. 使用pandas的apply()函数

有时,我们可能想要对数据集中的某些唯一值应用一个函数。在这种情况下,我们可以使用pandas的apply()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

df['name_length'] = df['name'].apply(len)

print(df)

Output:

如何使用pandas库的unique()函数来查看数据集中的唯一值

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用apply()函数对’name’列中的每个值应用了len()函数,计算了每个名字的长度。

15. 使用pandas的applymap()函数

有时,我们可能想要对数据集中的所有值应用一个函数。在这种情况下,我们可以使用pandas的applymap()函数。

下面是一个简单的示例:

import pandas as pd

data = {'name': ['Tom', 'Nick', 'John', 'Tom'],
        'age': [20, 21, 19, 20]}

df = pd.DataFrame(data)

df = df.applymap(str)

print(df.dtypes)

在这个示例中,我们首先创建了一个包含两列的数据框,然后使用applymap()函数对数据框中的所有值应用了str()函数,将所有的值转换为了字符串。

总结起来,pandas库提供了许多函数,可以帮助我们查看和处理数据集中的唯一值。这些函数包括但不限于unique()、nunique()、value_counts()、drop_duplicates()、duplicated()、groupby()、pivot_table()、crosstab()、get_dummies()、cut()、qcut()、replace()、map()、apply()和applymap()。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程