我将数据从Excel导入Pandas数据帧,并希望在read_excel()期间指定有序的分类数据类型。我希望这些数据的后续轮换将遵循排序,但它不会。
我可以在 read_excel()之后将数据类型转换为Categorical ,但我更喜欢在数据导入期间可以在转换器中定义它。
尝试1:
conv = {
"COS_PACKAGE": lambda x: x.astype(pd.Categorical,
categories=["Convergence", "Versatile", "Performance"],
ordered=True)
}
df = pd.read_excel(r"data.xlsx", sheetname="DATA", converters=conv)
尝试2:
conv = {
"COS_PACKAGE": lambda x: x.astype("categories",
categories=["Convergence", "Versatile", "Performance"],
ordered=True)
}
df = pd.read_excel(r"data.xlsx", sheetname="DATA", converters=conv)
修改
根据评论请求,这是我在数据导入后转换为Categorical的方式,这有效。
df["COS_PACKAGE"] = df["COS_PACKAGE"].astype("category",
categories=["Convergence", "Versatile", "Performance"],
ordered=True)