我想迭代地将col名称分配给我拥有的每个列名的值s。我已经尝试了一切,但无法通过这个。以下代码引发错误:
for i in continuous_data.columns :
plt.figure()
continuous_data.plot(x="Lattitude", y="Longtitude", kind="scatter",alpha=0.4,figsize=(12,10),c="Price",colormap="gist_rainbow",s=continuous_data.i,colorbar=True)
plt.legend()
错误是:
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-8-2489dccddba7> in <module>()
1 for i in continuous_data.columns :
2 plt.figure()
----> 3 continuous_data.plot(x="Lattitude", y="Longtitude", kind="scatter", alpha=0.4,figsize=(12,10),c="Price",colormap="gist_rainbow",s=continuous_data.i,colorbar=True)
4 plt.legend()
/opt/conda/lib/python3.6/site-packages/pandas/core/generic.py in __getattr__(self, name)
3612 if name in self._info_axis:
3613 return self[name]
-> 3614 return object.__getattribute__(self, name)
3615
3616 def __setattr__(self, name, value):
AttributeError: 'DataFrame' object has no attribute 'i'
<matplotlib.figure.Figure at 0x7ff9c144aa58>
当我执行以下操作时,它会产生正确的列名:
for i in continuous_data.columns:
print(i)
Rooms
Price
Distance
Postcode
Bedroom2
Bathroom
Car
BuildingArea
Landsize
Lattitude
Longtitude
Propertycount
你们能帮助我吗?在Kaggle上链接到内核是:https://www.kaggle.com/shinydhar/melbourne-housing-analysis
答案 0 :(得分:1)
问题在于
s=continuous_data.i
对于您而言,显而易见的是,它意味着您要重复的列i
。对于熊猫来说,想想,这是
s=continuous_data['i']
并且您的DataFrame显然没有这样的列(并且它不是您的意思)。
只需将其替换为
即可s=continuous_data[i]