我正在使用airbnb数据集上的Kaggle:
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时,它会返回一个空的系列。
发布于 2016-07-11 21:04:28
试试这个:
users.language = np.where( users.language !='en', 'non-english', 'english' )发布于 2016-07-11 20:46:37
这就是你想要的吗?
In [181]: x
Out[181]:
val
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
In [182]: x.groupby(x.index == 'en').sum()
Out[182]:
val
False 459
True 15011https://stackoverflow.com/questions/38315846
复制相似问题