使用len()和if / else来填充dataframe变量

时间:2017-12-29 21:00:29

标签: python pandas

我希望在我的数据框中添加一个连接其他几个变量的变量。我知道如果变量'do'少于4个字符,那么它就是垃圾输入而我应该使用变量'ra'。但是,下面抛出一个属性错误:“AttributeError :(”'str'对象没有属性'len'“,'发生在索引0')”。应用操作是正确的方式来进行我正在做的事情,如果是这样,我该如何纠正我的功能?

def get_combined(row):
    if row['do'].len() < 4:
        return row['ra']+' '+row['mi']+' '+row['fa']+' '+row['so']
    else:
        return row['do']+' '+row['mi']+' '+row['fa']+' '+row['so']

df['Combined'] = df.apply(get_combined, axis=1)

1 个答案:

答案 0 :(得分:2)

第二行应该是:

if len(row['do']) < 4: