Python, Pandas: Как изменить пропускную способность для DataFrame.plt.density ()? - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть некоторые данные, которые я поместил в pandas dataframe, и я построил гистограмму уникальных значений для конкретного column.

Я хотел бы контролировать полосу пропускания встроенной функции Pandas df.plot.density()

, которая отображает данные по kde.Это возможно, или мне лучше со Склеарном, Сципи или чем-то еще?

Спасибо

Ответы [ 2 ]

0 голосов
/ 24 апреля 2018

Как отметил @Jan, вы можете использовать seaborn для этого, довольно просто управлять полосой пропускания на графике kde. Вот пример со случайными нормальными данными:

import seaborn as sns

d = pd.DataFrame({'x':np.random.choice(['a','b','c'], 100), 'y':np.random.randn(100)})

fig, axes = plt.subplots(1,3)
for name,g in d.groupby('x'):
    g['y'].plot.density(ax=axes[0], label=name)
    sns.kdeplot(g['y'], bw=0.25, ax=axes[1], label=name)
    sns.kdeplot(g['y'], bw=0.75, ax=axes[2], label=name)

axes[0].set_title('pandas plot.density', fontsize='12')
axes[1].set_title('seaborn kde with \n 0.25 bandwidth', fontsize='12')
axes[2].set_title('seaborn kde with \n 0.75 bandwidth', fontsize='12')

plt.legend()

Возвращает следующий график для сравнения:

enter image description here

0 голосов
/ 24 апреля 2018

Если вы хотите контролировать пропускную способность, я бы рекомендовал использовать kdeplot от Seaborn (см. link ), а именно bw параметр

...