合并类别中熊猫的级别

时间:2019-12-06 14:37:06

标签: python pandas merge levels

我想知道,如何在Python中合并分类变量的级别?

我有以下数据集:

dataset['Reason'].value_counts().head(5).
Reason  Count
0       339
7       125
11      124
3        82
0        65

现在,我想合并的第一次出现和最后一次出现,以便输出看起来像:

dataset['Reason'].value_counts().head(5)
Reason  Count
0       404
7       125
11      124
3        82
2        52

为了弄清楚原因,我不得不分割一个字符串,这可能导致了reason列中的各个级别。

我尝试使用loc函数,但是我想知道是否有更聪明的方法可以做到这一点:

dataset.loc[dataset['Reason'] == '0' , ['Reason']] = 'On request'
dataset.loc[dataset['Reason'] == '0 ' , ['Reason']] = 'On request'

谢谢迈克尔。

1 个答案:

答案 0 :(得分:0)

如果所有值都是字符串,则像@ anky_91一样使用Series.str.strip

dataset['Reason'].str.strip().value_counts().head(5)

如果某些值是数字,则首先由Series.astype强制转换为string

dataset['Reason'].astype(str).str.strip().value_counts().head(5)