Python 使用基于现有列的值向dataframe添加新列

Python 使用基于现有列的值向dataframe添加新列,python,pandas,dataframe,Python,Pandas,Dataframe,如何遍历数据框并添加一个新的列,该列包含基于现有列是否对每行具有相同值的值的值 例如,在下面的数据框中,我想添加一个新列,该列在Col1和Col2包含1s的行中包含1,如果它们不都包含1,则添加0 Col1 Col2 1 1 1 1 1 0 0 0 0 1 1 1 1 1 我想要的输出是 Col1 Col2 Col3 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1

如何遍历数据框并添加一个新的列,该列包含基于现有列是否对每行具有相同值的值的值

例如,在下面的数据框中,我想添加一个新列,该列在Col1和Col2包含1s的行中包含1,如果它们不都包含1,则添加0

Col1 Col2
1    1
1    1
1    0 
0    0 
0    1
1    1
1    1
我想要的输出是

Col1 Col2 Col3
1    1    1
1    1    1
1    0    0 
0    0    0 
0    1    0
1    1    1
1    1    1

理想情况下,这将在将来扩展到更多列(如果所有列都包含1,则新列只包含1)

如果需要,请检查是否所有列都是
1
用于转换为整数,如果数据仅为
1
0

df['col3'] = df.all(axis=1).astype(int)
如果只需要测试
1
,则为
=
的任何数据使用工作:

df['col3'] = df.eq(1).all(axis=1).astype(int)
如果要选择“检查”“添加子集”的列:

cols = ['Col1', 'Col2']

df['col3'] = df[cols].all(axis=1).astype(int)
或:


如果您只使用0和1进行尝试


现在检查:)@jezraelSuper,现在对
1
0
@ansev Creative solution提供的2列文件非常有效+1.
df['col3'] = df[cols].eq(1).all(axis=1).astype(int)
df['Col3'] = df['Col1'].mul(df['Col2'])