首页 > 解决方案 > 根据 y_train 值将 X_train 拆分为两个数据帧

问题描述

我有以下函数,它查看 y_train 的每一行的值,单列并且是 0 或 1,并基于此将每个相应的 X_train 行放入 Tmaj 或 Tmin。但我没有得到正确的索引,或者也许有更好的方法。

def fun(X_train,y_train):
    Tmaj = pd.DataFrame()
    Tmin = pd.DataFrame()

    row=0
    for each in y_train['Outcome']:
        if each==1:
            Tmaj.append(X_train.loc[[row]])
        #else:
            #Tmin.append(X_train.loc[[]])
        row+=1 

标签: pandas

解决方案


而不是循环只是X_train用布尔掩码索引

def fun(X_train, y_train):
    Tmaj = X_train.loc[y_train.Outcome==1, :]
    Tmin = X_train.loc[y_train.Outcome==0, :]
    return Tmaj, Tmin

推荐阅读