Python 3.x 基于另一列字符串值的n值创建新的dataframe列

Python 3.x 基于另一列字符串值的n值创建新的dataframe列,python-3.x,Python 3.x,大家好,我是Python新手,我正在尝试解决一个问题,我想基于另一个现有列创建一个新的数据帧列,如果现有列值包含特定的子字符串,则新列值应为现有列值,否则新列值应为附加了其他字符串的现有字符串值 我尝试了不同的方法来解决相同的问题,即使现有列也可以包含null值。将我的代码部分放在下面 df['new_column']=[df['existing_col'] if (x.str.contains("@gmail.com")==True) else df['existing_col']+"appe

大家好,我是Python新手,我正在尝试解决一个问题,我想基于另一个现有列创建一个新的数据帧列,如果现有列值包含特定的子字符串,则新列值应为现有列值,否则新列值应为附加了其他字符串的现有字符串值

我尝试了不同的方法来解决相同的问题,即使现有列也可以包含null值。将我的代码部分放在下面

df['new_column']=[df['existing_col'] if (x.str.contains("@gmail.com")==True) else df['existing_col']+"append_val" for x in df['existing_col']]
print(df['new_column'])

实际结果::
AttributeError:'str'对象没有属性'str'

使用
x.contains()
而不是
x.str.contains()
@AkshayNevrekar仍然得到错误AttributeError:'str'对象没有属性'contains'我对python不熟悉,正在深入学习这个数据帧概念,也给我推荐一些好的学习网站