请您能帮我解决我的日常问题吗? 我有一个2列的熊猫数据框df:
MatSituation NbChild
1 0
2 1
3 0
4 1
我想用函数f创建一个新列,该函数具有“ MatSituation”和“ NbChild”参数:
df[n_NbChild] = df['MatSituation ','NbChild '].apply(.....)
请问如何处理这种情况?
非常感谢。 蒂埃里
df['n_Age'] = df['Age'][dataset['Age'].notnull()].apply(age_classify)
答案 0 :(得分:1)
您可以只创建一个接受两个输入并返回一个值的函数,然后为其分配一个新列。
例如:
def sum_two_columns(a, b):
return a + b
df['New Column'] = sum_two_columns(df.MatSituation, df.NbChild)
df
MatSituation NbChild New Column
1 0 1
2 1 3
3 0 3
4 1 5
答案 1 :(得分:1)
如果age_classify是一个接受row作为参数的函数-唯一需要修改的想法是: df ['n_Age'] = df ['Age'] [dataset ['Age']。notnull()]。apply(age_classify, axis = 1 )
答案 2 :(得分:0)
我修改了功能:
def NbEnfNull(x,y):
if (y.empty):
if (x == 1 or x == 2):
return 0
elif (x == 3 or x == 4):
return 1
else:
return y
致电:
df['n_nbr_enf'] = NbEnfNull(df['COD_SIS_FAM'],df['NBR_ENF'])
但是我对df ['n_nbr_enf']具有空值
df['n_nbr_enf'].isnull().sum()
1472 我不知道该如何进步... 非常感谢。