我在pandas数据框中的一列如下所示。我想对我的“女儿”列进行分类,这样带有 0 的行将收到“无”标签,而包含 1、2、3、4 的行将收到“一些”标签。包含列的当前数据集Daughter001243预期输出:Daughter Daugther_fact0 None0 None1 Some2 Some4 Some3 Some我是python的新手。我知道我必须使用pd.cut来分配我的标签,但我不确定如何实现这一点。任何帮助表示赞赏!
2 回答
慕莱坞森
TA贡献1810条经验 获得超4个赞
这是你需要的吗?
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]
慕标琳琳
TA贡献1830条经验 获得超9个赞
导入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
添加回答
举报
0/150
提交
取消