数据集中没有熊猫切割功能

问题描述 投票:0回答:1

在我的数据集中,有一个看起来像这样的列:

[111, 112, None, 113, 114, 115, 116, None, 117, 118, 119]

我想将此列分类为3个分类,以便得到

[0, 0, None, 0, 1, 1, 1, None, 2, 2, 2]

如何使用pandas.cut做到这一点?它不会接受None作为输入中的元素

python pandas
1个回答
3
投票

IIUC,

s = pd.Series([111, 112, None, 113, 114, 115, 116, None, 117, 118, 119])

pd.cut(s, bins=[0, 113, 116, 120], labels=[0, 1, 2])

输出:

0       0
1       0
2     NaN
3       0
4       1
5       1
6       1
7     NaN
8       2
9       2
10      2
dtype: category
Categories (3, int64): [0 < 1 < 2]

或尝试qcut

pd.qcut(s, 3, labels=[0, 1, 2])

输出:

0       0
1       0
2     NaN
3       0
4       1
5       1
6       1
7     NaN
8       2
9       2
10      2
dtype: category
Categories (3, int64): [0 < 1 < 2]
© www.soinside.com 2019 - 2024. All rights reserved.