我在pandas dataframe中的一列如下所示。我想把我的“女儿”列放入,这样,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我新来了蟒蛇。我知道我必须使用pd.cut来分配我的标签,但我不知道如何做到这一点。任何帮助都是非常感谢的!
发布于 2018-12-11 03:22:26
这就是你需要的吗?
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]发布于 2018-12-11 03:26:54
首先导入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 https://stackoverflow.com/questions/53716868
复制相似问题