📜  Python| Pandas.Categorical()(1)

📅  最后修改于: 2023-12-03 15:04:22.391000             🧑  作者: Mango

Python | Pandas.Categorical()

Pandas.Categorical()是pandas库中一个非常有用的函数,它可以将数据转换为类别类型,从而提高数据的效率。在本篇文章中,我们将全面介绍Pandas.Categorical()函数。

基本介绍

Pandas.Categorical()函数接受许多不同的输入,并将其转换为Pandas的分类类型。分类类型是一种特殊的数据类型,它有效地处理类别型数据的存储和计算,同时提供了一些有用的功能。

语法

Pandas.Categorical(values, categories=None, ordered=None, dtype=None, fastpath=False)

参数
  • values:必需,序列型数据
  • categories:可选,类别列表
  • ordered:可选,是否有序,默认值为False
  • dtype:可选,数据类型,默认为numpy.CategoricalDtype()
  • fastpath:可选,是否启用快速路径,默认为False。如果categories不为None,则快速路径不可用。
返回值

返回一个由输入数据所组成的分类类型。

示例

以下代码段将演示如何使用Pandas.Categorical()函数。

import pandas as pd
import numpy as np

# 创建一个包含重复数据的Series
s = pd.Series(['apple', 'banana', 'apple', 'banana', np.nan])
print(s)

# 将该Series转换为分类类型
cat = pd.Categorical(s)
print(cat)

输出结果为:

0     apple
1    banana
2     apple
3    banana
4       NaN
dtype: object

[apple, banana, apple, banana, NaN]
Categories (2, object): [apple, banana]

在上面的示例中,我们创建了一个包含重复数据的Series,并使用Pandas.Categorical()函数将其转换为分类类型。我们可以看到,输出结果显示列表中有两种类别:applebanana

类别的排序

如果要排序类别,可以使用ordered参数并将其设置为True

import pandas as pd
import numpy as np

# 创建一个包含重复数据的Series
s = pd.Series(['apple', 'banana', 'apple', 'banana', np.nan])

# 将该Series转换为分类类型,并排序类别
cat = pd.Categorical(s, ordered=True)
print(cat)

输出结果为:

[apple, banana, apple, banana, NaN]
Categories (2, object): [apple < banana]

在上面的示例中,我们在使用Pandas.Categorical()函数时将ordered参数设置为True,以对类别进行排序。我们可以看到,输出结果显示列表中有两种类别:applebanana,并按字母顺序排列。

类别的重命名

还可以重命名类别。这可以通过使用categories参数来实现。

import pandas as pd
import numpy as np

# 创建一个包含重复数据的Series
s = pd.Series(['apple', 'banana', 'apple', 'banana', np.nan])

# 将该Series转换为分类类型,并重命名类别
cat = pd.Categorical(s, categories=['apple', 'banana', 'orange'])
print(cat)

输出结果为:

[apple, banana, apple, banana, NaN]
Categories (3, object): [apple, banana, orange]

在上面的示例中,我们使用categories参数将类别orange添加到了列表中,并将该Series转换为分类类型。输出结果显示有3种类别:applebananaorange

总结

Pandas.Categorical()函数的主要目的是将序列型数据转换为Pandas的分类类型,以提高数据的效率。通过简单的参数设置和示例,我们深入了解了该函数的用法,并演示了如何重命名类别、排序类别等功能。我相信,如果您认真阅读了本文并自己动手试验,您一定已经掌握了Pandas.Categorical()函数的基本用法。