不理解此AttributeError:“function”对象没有属性“isalpha”

2024-04-26 03:24:28 发布

您现在位置:Python中文网/ 问答频道 /正文

参考以下代码

# import
import pandas as pd
import numpy as np
import string 

# create data frame
data = {'Name': ['Jas,on', 'Mo.lly', 'Ti;na', 'J:ake', '!Amy', "Myself"]}
df = pd.DataFrame(data, columns = ['Name'])
df

# get cleanName - Function
def getCleanName(pName):
    vRetVals = pName.translate(str.maketrans(" ", " ", string.punctuation))
    return(vRetVals)  

# clean Name
print("PreClean Good Rows", df.shape[0] - df.Name.map(lambda v:v.isalpha()).sum())
df['Name'] = [getCleanName for n in df.Name]
print("PostClean Good Rows", df.shape[0] - df.Name.map(lambda v: v.isalpha()).sum())

问题

当第一次运行以下行时,它将正常运行:

^{pr2}$

当同一行第二次运行时,它会给出以下错误

AttributeError: 'function' object has no attribute 'isalpha'

有什么想法,是什么导致了这个问题?在


Tags: nameimportdfdatastringasrowspd
1条回答
网友
1楼 · 发布于 2024-04-26 03:24:28

您忘了调用getCleanName,所以您的list最终得到了一堆对函数的相同引用。更改为:

df['Name'] = [getCleanName(n) for n in df.Name]
#                         ^^^ changed

实际调用函数并使用结果。在

相关问题 更多 >