在数据框“int”对象上获取它没有属性“lower”

iru*_*hra 2 dataframe python-3.x pandas

df23 = pd.DataFrame({'name':['MY NAME1', 'MY NAME2', 'MY NAME3','MY NAME4'],
                    'description': [['d1 d2 d3'], ['d4 d5 d6'], ['d7 d8 d9'],['a9 d0 t5']],
                   'specialties': ['green,red,blue', 'green,purple,pink', 'yellow,white,black,red,green', 'bub.tub,rub'],
                    })
df_work['name'] = [x for x in df_work['name'].map(lambda x: x.lower())]
Run Code Online (Sandbox Code Playgroud)

我想将名称 col 中的所有条目转换为更低。但我收到这个错误。

jez*_*ael 5

似乎某些值是整数,因此有必要转换为string

df_work['name'] = [x for x in df_work['name'].map(lambda x: str(x).lower())]
Run Code Online (Sandbox Code Playgroud)

使用Series.astype和的另一种解决方案Series.str.lower

df_work['name'] = df_work['name'].astype(str).str.lower()
Run Code Online (Sandbox Code Playgroud)