Подтвердить что ты не робот

Как рассчитать серию с помощью Pandas

У меня есть эта серия:

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')

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

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

4b9b3361

Ответ 1

Я полагаю, что серия pandas не поддерживает kind = 'scatter', если вы смотрите t0 на вызов .plot() в серии.

Я считаю, что ответ Лев лучше и подходит для использования с pandas. Я использую 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()

введите описание изображения здесь

Ответ 2

Я думаю, что самый простой

series.plot(style='.')

Ответ 3

Как это?

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

Ответ 4

Самый простой способ, который я нашел, это использовать reset_index(), он будет возвращать фрейм данных с индексом ряда в виде столбца. Так что это очень крутой способ перевести серию в фрейм данных.

После того, как вы используете фрейм данных, вы можете использовать функцию построения панд:

df = series.reset_index()
df.plot(x="x_col", y="y_col", kind="scatter")