尝试根据其他列的非空白条目为新列分配值

时间:2019-04-18 04:40:55

标签: python python-3.x pandas python-2.7

我需要根据其他“ B”列条件为新列“ A”分配“正确”,即:-如果“ B”列具有非空白条目,则“ A”列将分配“正确”值“否则”需要检查“ 条件,我们有:  如果“ B”列包含任何非空白条目,则“ A”列将分配“正确” 输入: 名称B A 亚当34
屏幕
宾尼35
坚强
晴5
彼得

输出:-     名称B A 0亚当34.0正确 1画面正确 2 binny 35.0正确 3强硬正确 4晴天5.0正确 5个正确的

我尝试了以下方法:

df.loc[df['A'] != '', 'B'] = "Correct"

输入enter image description here

输出enter image description here

2 个答案:

答案 0 :(得分:0)

def label_A(row):
  if row['B'].notna():
    return "Correct"
  else:
    return "Check Required"

df['A'] = df.apply(lambda row: label_A(row), axis=1)

这是基于pandas create new column based on values from other columns

中给出的答案

函数label_A()检查B列的值是否为空或否,然后将适当的值分配给A列。

答案 1 :(得分:0)

最后,此代码有效 df.loc [df ['B']。notna(),'A'] =“正确”