Я работаю с AirBnB набора данных на Kaggle:Упрощающие категориальные переменные с Python/панд
https://www.kaggle.com/c/airbnb-recruiting-new-user-bookings
и хотите упростить значения для столбца языка в 2-х групп - английский и неанглийских.
Например:
users.language.value_counts()
en 15011
zh 101
fr 99
de 53
es 53
ko 43
ru 21
it 20
ja 19
pt 14
sv 11
no 6
da 5
nl 4
el 2
pl 2
tr 2
cs 1
fi 1
is 1
hu 1
Name: language, dtype: int64
И результат я хочу это:
users.language.value_counts()
english 15011
non-english 459
Name: language, dtype: int64
Это своего рода решение я хочу:
def language_groupings():
for i in users:
if users.language !='en':
replace(users.language.str, 'non-english')
else:
replace(users.language.str, 'english')
return users
users['language'] = users.apply(lambda row: language_groupings)
Кроме есть, очевидно, что-то не так с этим, поскольку он возвращает пустую серию, когда я запускаю value_counts в столбце.
yep, я хотел опубликовать что-то подобное ('users.assign (lang = np.where (users.language == 'en', 'english', 'non-english')) ['lang']. value_counts() '), но вы были быстрее ...;) – MaxU
Да, именно то, что я хотел ... спасибо! – vnessified
Если его право. отметьте как правильно. и повышать, если можете. и удачи – Merlin