我在pandas
数据框中的其中一列如下所示。我想对我的“ Daughter”列进行装箱,以使具有0的行将收到“ None”标签,而包含1,2,3,4的行将收到“ Some”标签。
包含列的当前数据集
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
来分配标签,但是我不确定如何实现。任何帮助表示赞赏!
答案 0 :(得分:3)
这是您需要的吗?
pd.cut(df.Daughter,[-np.inf,0,np.inf],labels=['None','some'])
Out[35]:
0 None
1 None
2 some
3 some
4 some
5 some
Name: Daughter, dtype: category
Categories (2, object): [None < some]
答案 1 :(得分:3)
首先导入pandas
和numpy
。
import numpy as np
import pandas as pd
请您尝试以下。
m=df['Daughter']!=0
df['Daughter_fact']=np.where(m,"Some","None")
df
当我们打印df
时,输出将如下所示。
Daughter Daughter_fact
0 0 None
1 0 None
2 1 Some
3 2 Some
4 4 Some
5 3 Some