Python 根据与其他两列相关的条件创建列

Python 根据与其他两列相关的条件创建列,python,pandas,vector,dataframe,Python,Pandas,Vector,Dataframe,我在一个数据帧中有两列(我们称之为“col1”和“col2”)。两者都包含真/假值 我需要从这两列('col3')中创建第三列,如果两列中的一列或另一列在该记录中具有真值,则该列将具有该记录的真值 目前,我正在与以下人员合作: col3 = [] for index, row in df.iterrows(): if df.ix[index, 'col1'] == True or df.ix[index, 'col2'] == True: col3.append(Tru

我在一个数据帧中有两列(我们称之为“col1”和“col2”)。两者都包含真/假值

我需要从这两列('col3')中创建第三列,如果两列中的一列或另一列在该记录中具有真值,则该列将具有该记录的真值

目前,我正在与以下人员合作:

col3 = []

for index, row in df.iterrows():
    if df.ix[index, 'col1'] == True or df.ix[index, 'col2'] == True:
        col3.append(True)
    else:
        col3.append(False)

df['col3'] = col3
对于我的数据集的大小来说,它的运行速度足够快,但是有没有办法以一行线/矢量化的方式来实现呢?可能使用两个嵌套的
np.where()
语句?

您可以使用:

In [236]:
df = pd.DataFrame({'col1':[True,False,False], 'col2':[False,True,False]})
df

Out[236]:
    col1   col2
0   True  False
1  False   True
2  False  False

In [239]:
df['col3'] = np.logical_or(df['col1'], df['col2'])
df

Out[239]:
    col1   col2   col3
0   True  False   True
1  False   True   True
2  False  False  False
或使用
|
运算符:

In [240]:
df['col3'] = df['col1'] | df['col2']

df
Out[240]:
    col1   col2   col3
0   True  False   True
1  False   True   True
2  False  False  False