Python 折叠多个变量类别
我有一个Python 折叠多个变量类别,python,pandas,encoding,categorical-data,Python,Pandas,Encoding,Categorical Data,我有一个df,它包括两个分类变量,它们有许多(>2000)个类别。变量“installer”的一个类别构成了数据的很大一部分: DWE 35.397980 Government 3.073401 RWE 2.017508 Commu 1.814141 DANIDA 1.757576
df
,它包括两个分类变量,它们有许多(>2000)个类别。变量“installer”的一个类别构成了数据的很大一部分:
DWE 35.397980
Government 3.073401
RWE 2.017508
Commu 1.814141
DANIDA 1.757576
...
我怎样才能保留前三个类别,并将其余的类别折叠在一个名为“其他”的类别中,而不必列出所有类别
注意:我以前对基数较低的变量使用过replace,但必须列出所有要替换的值
我试过:
unique_values= df['installer'].unique()
for unique in unique_values:
if unique != 'DWE' or unique != 'Government' or unique != 'RWE':
df['installer'] = df['installer'].replace(unique, 'other')
先抓住重复使用最多的三个,然后过滤和分类“其他”如何
categories_to_keep = df['installer'].value_counts().index[:3]
df.loc[
(~df.installer.isin(categories_to_keep)), 'installer'
] = 'Other'