2015-09-25 4 views
3

У меня есть эта Серия:Как Scatter Plot Series с помощью панд

print series.head() 
print type(series) 
print series.index 

year 
1992 36.222222 
1993 53.200000 
1994 49.400000 
1995 34.571429 
1996 39.200000 
Name: ranking, dtype: float64 
<class 'pandas.core.series.Series'> 

Int64Index([1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014], dtype='int64', name=u'year') 

Я пытаюсь сделать точечную, но у меня возникают проблемы с доступом к индексу и значения из этой серии.

Любые указатели будут оценены.

ответ

5

Я считаю, что панды серия не поддерживает Kind = «разброс», если глядя .plot t0 вызова() на серии.

Я считаю, что ответ Лев лучше и подходит для использования с пандами. Я использую mplotlib pyplot, и он работает аналогично его примеру.

import matplotlib.pyplot as plt 
plt.scatter(ser.index, ser) 
plt.show() 

Возможно, попробуйте следующее:

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
np.random.seed(1) 

year = [1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014] 
value = np.random.rand(23) 

ser = pd.Series(index = year,data=value) 
df =ser.to_frame() 

df.reset_index(inplace=True) 
df.columns = ['year','value'] 
df.plot(kind='scatter',x='year',y='value') 
plt.show() 

enter image description here

6

Нравится?

import pylab 
pylab.scatter(series.index, series) 
+0

забыл упомянуть, используя панды – oscarm

+0

Это лучший подход и прекрасно для панд. – Dickster