astype('category')将pandas数据转换为category类型,而astype(CategoricalDtype())使用CategoricalDtype()对象定义更多的选项来转换数据。
代码示例:
import pandas as pd
# 创建一个DataFrame
df = pd.DataFrame({'A': ['a', 'b', 'c', 'a'], 'B': [1, 2, 3, 1]})
# 将'A'列转换为category类型
df['A'] = df['A'].astype('category')
print(df.dtypes)
# 将'B'列转换为category类型,并定义更多的选项
df['B'] = df['B'].astype(pd.CategoricalDtype(ordered=True))
print(df.dtypes)
输出为:
A category
B int64
dtype: object
A category
B category
dtype: object