我有一个包含两列的 DataFrame,我想根据这两列的值创建第三列。也就是说,如果 col_a 中的值等于 col_b 中的值,则第三列应为 original,否则为 replica。
例子:
col_a col_b
1234 1234
1235 1234
1236 1234
1237 1234
1321 1321
预期结果:
col_a col_b type
1234 1234 original
1235 1234 replica
1236 1234 replica
1431 1431 original
1321 1431 replica
我尝试了以下代码,但它似乎不起作用。
type = []
for x in df['col_a'] and y in df['col_b']:
if x == y:
type.append('original')
else:
type.append('replica')
df['type'] = [type]
我是 Python 的新手,所以我可能会忽略一些关键的基本步骤。
使用numpy.where
:
import numpy as np
df['type'] = np.where(df['col_a'].eq(df['col_b']), 'original', 'replica')
输出:
col_a col_b type
0 1234 1234 original
1 1235 1234 replica
2 1236 1234 replica
3 1237 1234 replica
4 1321 1321 original
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句