要保存Polars的分类映射,可以使用Polars库的Series
对象的encode
方法将分类变量转换为数值编码,并将编码映射保存为字典或DataFrame。
以下是一个示例代码,展示如何保存Polars的分类映射:
import polars as pl
import pandas as pd
# 创建一个包含分类变量的DataFrame
df = pd.DataFrame({
'category': ['A', 'B', 'A', 'C', 'B', 'C']
})
# 将DataFrame转换为Polars的DataFrame
df_pl = pl.from_pandas(df)
# 将分类变量编码为数值
encoded_df = df_pl.with_column(
df_pl['category'].encode('cat', 'integer').alias('category_encoded')
)
# 获取编码映射
mapping = encoded_df['category'].str_mapping()
print(mapping)
# 保存编码映射为字典
mapping_dict = mapping.to_dict()
print(mapping_dict)
# 保存编码映射为DataFrame
mapping_df = pd.DataFrame({'category': mapping.keys(), 'category_encoded': mapping.values()})
mapping_df.to_csv('category_mapping.csv', index=False)
在上面的代码中,我们首先将包含分类变量的DataFrame转换为Polars的DataFrame。然后使用encode
方法将分类变量编码为数值,即将分类映射到整数值。
接下来,我们可以通过str_mapping
方法获取编码映射,然后将其保存为字典或DataFrame。
最后,我们将编码映射保存为category_mapping.csv
文件,其中包含两列:category
和category_encoded
。