График CDF из серии Pandas с индексом в качестве оси X - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть серия Pandas, у которой есть индекс, а значения - это счетчики для каждого значения индекса. Я хочу построить CDF (желательно только линию, а не полную гистограмму), где ось x представляет индекс.

Например, если мой ряд равен s, у меня есть s.index в качестве массив значений, которые должны быть представлены на оси х, а s.values являются счетчиками. Я попытался просто сделать s.plot(cumulative = True,...), но это помещает значения по оси X, а не по индексу.

Пример: s.index возвращает массив значений от 0 до 1 с шагом 0,01 (0,00, 0,01, 0,02, ... 1,00). s.values возвращает массив отсчетов, например (4372, 1340, 205, ...), где каждый соответствует индексу (0,01 имеет счет 1340). Я хотел бы, чтобы ось х была 0,00, 0,01, ... и ось у переходит от 0 к 1 как кумулятивное распределение на основе отсчетов.

1 Ответ

0 голосов
/ 23 апреля 2020

Используя пакет seaborn, вы можете достичь:

 import matplotlib.pyplot as plt
 import seaborn as sns
 import pandas as pd
 import numpy as np
 x = np.arange(0,.1,0.01)
 df = pd.DataFrame({'value':[1340,1200,1300,1150,1421,1175,1232,1432,1123,1231]},index=x)
 df
       value
0.00   1340
0.01   1200
0.02   1300
0.03   1150
0.04   1421
0.05   1175
0.06   1232
0.07   1432
0.08   1123
0.09   1231
sns.distplot(df.index, rug=True, hist=False)
plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...