📅  最后修改于: 2023-12-03 15:04:22.391000             🧑  作者: Mango
Pandas.Categorical()
是pandas库中一个非常有用的函数,它可以将数据转换为类别类型,从而提高数据的效率。在本篇文章中,我们将全面介绍Pandas.Categorical()
函数。
Pandas.Categorical()
函数接受许多不同的输入,并将其转换为Pandas的分类类型。分类类型是一种特殊的数据类型,它有效地处理类别型数据的存储和计算,同时提供了一些有用的功能。
Pandas.Categorical(values, categories=None, ordered=None, dtype=None, fastpath=False)
values
:必需,序列型数据categories
:可选,类别列表ordered
:可选,是否有序,默认值为Falsedtype
:可选,数据类型,默认为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()
函数将其转换为分类类型。我们可以看到,输出结果显示列表中有两种类别:apple
和banana
。
如果要排序类别,可以使用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
,以对类别进行排序。我们可以看到,输出结果显示列表中有两种类别:apple
和banana
,并按字母顺序排列。
还可以重命名类别。这可以通过使用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种类别:apple
、banana
和orange
。
Pandas.Categorical()
函数的主要目的是将序列型数据转换为Pandas的分类类型,以提高数据的效率。通过简单的参数设置和示例,我们深入了解了该函数的用法,并演示了如何重命名类别、排序类别等功能。我相信,如果您认真阅读了本文并自己动手试验,您一定已经掌握了Pandas.Categorical()
函数的基本用法。