应用 map() 进行格式化时出现 AttributeError

AttributeError when applying map() for formatting

希望有人可以就我收到的 AttributeError 提出建议,因为我不确定我的代码编写方式有什么问题。我看过其他关于“'DataFrame' object has no attribute”的帖子,但它不适用于这种情况。使用 Python 的 map() 函数迭代所有行和指定列并应用相同的格式,但 map() 似乎是问题所在。有没有其他方法?

错误信息:


  File "Z:\Report\PythonScripts\reporting\templates\lyReload.py", line 70, in getlyReloadTemplate
    myData[col] = round(myData[col]/1000,0).astype(int).map("{:,}".format)

  File "C:\Program Files\Anaconda3\lib\site-packages\pandas\core\generic.py", line 5575, in __getattr__
    return object.__getattribute__(self, name)

AttributeError: 'DataFrame' object has no attribute 'map'

原代码:

for col in [EPRI,LMTR,LastR]:
           myData[col] = round(myData[col]/1000,0).astype(int).map("{:,}".format) 

问题是重复的列名。所以 intead 系列(一列)你的代码 return 所有具有相同名称的列。

测试:

for col in [EPRI,LMTR,LastR]:
    print (myData[col])

解决方案是或删除重复的列名:

myData = myData.loc[:, ~myData.columns.duplicated()]