如何在 Pandas 数据框中从 4 个级别创建两个 bin?

我在pandas数据框中的一列如下所示。我想对我的“女儿”列进行分类,这样带有 0 的行将收到“无”标签,而包含 1、2、3、4 的行将收到“一些”标签。


包含列的当前数据集


Daughter

0

0

1

2

4

3

预期输出:


Daughter Daugther_fact

0         None

0         None

1         Some

2         Some

4         Some

3         Some

我是python的新手。我知道我必须使用pd.cut来分配我的标签,但我不确定如何实现这一点。任何帮助表示赞赏!


慕侠2389804
浏览 178回答 2
2回答

慕莱坞森

这是你需要的吗?pd.cut(df.Daughter,[-np.inf,0,np.inf],labels=['None','some'])Out[35]:&nbsp;0&nbsp; &nbsp; None1&nbsp; &nbsp; None2&nbsp; &nbsp; some3&nbsp; &nbsp; some4&nbsp; &nbsp; some5&nbsp; &nbsp; someName: Daughter, dtype: categoryCategories (2, object): [None < some]

慕标琳琳

导入pandas和numpy第一。import numpy as npimport pandas as pd你能不能试试以下。m=df['Daughter']!=0df['Daughter_fact']=np.where(m,"Some","None")df当我们打印时,df输出将如下所示。&nbsp; Daughter&nbsp; Daughter_fact0&nbsp; 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;None&nbsp;1&nbsp; 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;None&nbsp;2&nbsp; 1&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Some&nbsp;3&nbsp; 2&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Some&nbsp;4&nbsp; 4&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Some&nbsp;5&nbsp; 3&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Some&nbsp;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python