应用 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()]
希望有人可以就我收到的 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()]