Python Titanic数据集:创建新未来的循环问题

Python Titanic数据集:创建新未来的循环问题,python,python-3.x,pandas,Python,Python 3.x,Pandas,我想创造新的未来:如果泰坦尼克号上只有一个人(Sibsp和parch必须为0) 这是我的密码: df_train["Is_alone1"] = df_train["SibSp"].map(lambda x:1 if x == 0 else 0) df_train["Is_alone2"] = df_train["Parch"].map(lambda x:1 if x == 0 else 0) Is_alone=[] def is_alone(): for x, y in list(df_

我想创造新的未来:如果泰坦尼克号上只有一个人(Sibsp和parch必须为0) 这是我的密码:

df_train["Is_alone1"] = df_train["SibSp"].map(lambda x:1 if x == 0 else 0)
df_train["Is_alone2"] = df_train["Parch"].map(lambda x:1 if x == 0 else 0)
Is_alone=[]
def is_alone():
    for x, y in list(df_train["Is_alone1"]),list(df_train["Is_alone2"]):
        if x == 1 and y == 1:
            Is_alone.append(int(1))
        else:
            Is_alone.append(int(0))
但只有你是空的。如何纠正这一点?
我使用的是python3。

您可以不用循环,只需比较列的值

is_alone = (df_train["SibSp"] == 0) & (df_train["Parch"] == 0)
df_train["Is_alone"] = is_alone.astype(int)

谢谢但是为了学习,你可能知道我的循环出了什么问题吗?@econ啊,是的,当然,你是对的。嗯,你的循环看起来并没有错,我的意思是它可能会慢一点,但结果应该是一样的。你真的在调用你定义的函数
is_only()
?否则它里面的代码永远不会运行。
df_-train[“Is_-lone”]=df_-train[“SibSp”]。astype(int)
是正确的吗?我想你想要
df_-train[“Is_-lone”]=Is_-lone。astype(int)
@jezrael啊是的,谢谢你,当然是正确的!