如何根据其他两列的值在 DataFrame 中创建新列

阿比尔

我有一个包含两列的 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据其他列在Pandas DataFrame中创建新列

如何基于Pandas DataFrame中其他列的值创建新列

pandas Dataframe:根据其他列创建标签的新列

根据其他列的值为Pandas Dataframe创建列

在DataFrame中创建新列

根据Pandas DataFrame中其他列的条件创建新列

如何根据其他两列中的 IF AND 使用设定值创建新列

根据其他两个列Dataframe计算Columne中的值

PySpark DataFrame 根据其他列中的值乘以列

根据其他列修改dataframe列中的值

根据其他列值创建Pandas Dataframe行

如何根据其他列 spark 的值在 Dataframe 中添加列

如何根据Pandas DataFrame中其他列的值仅对某个列的某些元素求和?

在 R 中,如何根据其他列的值从其他列的列标题创建新列

从同一DataFrame中的其他行创建新的Pandas DataFrame列等于值

如何基于Python Pandas中的其他列在DataFrame中创建新列?

如何根据其他两列的值在 R 中创建新变量?

根据与行值的比较在 DataFrame 中创建新列

使用其他行中的值在DataFrame中创建新列

使用Pandas DataFrame中其他两列的键和值创建字典列

根据其他列的值更改 Dataframe 列的值

如何根据其他列值将列添加到 pandas DataFrame?

根据其他两列中的值创建是/否列

根据其他列中的值创建新列

根据其他列中的NA值创建新列

根据其他列中的值创建新列

根据其他列值(PySpark)从DataFrame获取值

根据值Pandas Dataframe获取所有其他列

Python:根据其他两列中的值有条件地创建新列