Python - 值中相应列中的返回值与另一列匹配

时间:2018-03-28 19:34:11

标签: python pandas

当条件与另一列匹配时,我试图在列中返回值。例如:

XY是两列。 X的值为1,2,3,4,5。并且Y0,1,1,0,1

如果Y= 0,代码应返回X(i.e 1,4)中的所有相应值。如果Y = 1,则应返回2,3,5

这是我写的代码:

for i in dataset:
    if y[i] == 1: 
        x1 = X.iloc[:,0]     
        print(x1)

1 个答案:

答案 0 :(得分:1)

只需使用子集:

import pandas as pd

df = pd.DataFrame({'X': [1,2,3,4,5], 'Y': [0, 1, 1, 0, 1]})

print(df.X[df.Y==0])
print(df.X[df.Y==1])

<小时/> 产生

0    1
3    4
Name: X, dtype: int64

1    2
2    3
4    5
Name: X, dtype: int64

这比其他任何东西都快得多(包括自定义编写的for循环)。