如何在Python中自动虚拟编码高基数变量

问题描述 投票:0回答:1

我正在研究 Kaggle 上的数据工程师薪资数据集。 salary_currency 列具有以下值计数。

salary_currency
USD 13695
GBP   558
EUR   406
INR    51
CAD    49
...

总计 16494 个值

有没有办法只对给定列的至少 2%(或任何百分比)的值进行虚拟代码?换句话说,只有美元、英镑和欧元的虚拟代码?

python one-hot-encoding recode
1个回答
0
投票

是的,只需使用最新版本的 OHE

from sklearn.preprocessing import OneHotEncoder

oh = OneHotEncoder(min_frequency = 0.02, sparse_output = False)
data = oh.fit_transform(df[['salary_currency']])
cols = oh.get_feature_names_out()
pd.DataFrame(data,columns=cols)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.