迭代地将列名作为参数传递给 plot() 函数 pandas
Iteratively passing column names as arguments to plot() function pandas
我想为我拥有的每个列名迭代地将列名分配给值 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
你们能帮我解决这个问题吗? Link 到 Kaggle 上的内核是:https://www.kaggle.com/shinydhar/melbourne-housing-analysis
问题在于
s=continuous_data.i
对于您来说,很明显它表示您正在迭代的 i
列。对于Pandas,心想,这是
s=continuous_data['i']
而且您的 DataFrame 显然没有这样的列(无论如何这不是您的意思)。
只需将其替换为
s=continuous_data[i]
我想为我拥有的每个列名迭代地将列名分配给值 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
你们能帮我解决这个问题吗? Link 到 Kaggle 上的内核是:https://www.kaggle.com/shinydhar/melbourne-housing-analysis
问题在于
s=continuous_data.i
对于您来说,很明显它表示您正在迭代的 i
列。对于Pandas,心想,这是
s=continuous_data['i']
而且您的 DataFrame 显然没有这样的列(无论如何这不是您的意思)。
只需将其替换为
s=continuous_data[i]