合并 pandas 中分类级别的级别
Merge levels for categorical levels in pandas
我想知道,如何在 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'
谢谢,迈克尔。
如@anky_91 提到的,如果所有值都是字符串,则使用 Series.str.strip
:
dataset['Reason'].str.strip().value_counts().head(5)
如果某些值是数字,首先由 Series.astype
转换为 string
s:
dataset['Reason'].astype(str).str.strip().value_counts().head(5)
我想知道,如何在 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'
谢谢,迈克尔。
如@anky_91 提到的,如果所有值都是字符串,则使用 Series.str.strip
:
dataset['Reason'].str.strip().value_counts().head(5)
如果某些值是数字,首先由 Series.astype
转换为 string
s:
dataset['Reason'].astype(str).str.strip().value_counts().head(5)