пусть seaborn pointplot показывает данные NaN линией

Я пытаюсь построить кадр данных, который выглядит так:

Quarter, score
1890.1, NaN
1890.2, 0.000000
1890.2, 0.000000
1890.2, -0.073413
1890.2, 0.000000
1890.3, NaN
1890.4, NaN
1891.1, NaN
1891.2, NaN
1891.3, NaN
1891.4, NaN
1892.1, NaN
1892.2, 0.000000
1892.3, 0.000000

Чтобы построить график ошибок, я использовал морской точечный график. Моя проблема в том, что значения NaN не отображаются. Итак, я получаю график с такими пробелами: график с отсутствующими значениями NaN Есть ли способ, чтобы Seaborn отображал отсутствующие данные линией? Большое спасибо за твою помощь!

Мой код выглядит следующим образом:

a4_dims = (15, 8.27)
fig, ax = plt.subplots(figsize=a4_dims)
ax = sns.pointplot(x="Quarter", y="score", data=df, aspect=2.5, capsize=.5)
plt.xticks(rotation=45)
plt.tight_layout()

person KlD    schedule 23.02.2018    source источник
comment
Не могли бы вы добавить рисунок, как должна выглядеть линия?   -  person serv-inc    schedule 23.02.2018
comment
Как видно на рисунке, некоторые точки соединены линиями. Та же самая простая прямая линия в порядке.   -  person KlD    schedule 23.02.2018


Ответы (1)


Может быть, вы можете попробовать настроить соединение

«Если True, линии будут проведены между точечными оценками на одном уровне оттенка».

В качестве альтернативы вы можете использовать:

используйте pandas.DataFrame.fillna

df['score']=df['score'].fillna(method='ffill')

в зависимости от того, как вы хотите заполнить строку, вы можете использовать

ffill: распространить последнее действительное наблюдение вперед к следующему действительному bfill: использовать СЛЕДУЮЩЕЕ действительное наблюдение, чтобы заполнить пробел

person Fredz0r    schedule 23.02.2018
comment
Я предполагаю, что это работает аналогично df.interpolate()? Проблема с заполнением значений заключается в том, что на графике я получу не только строки, но и точки данных, которые изначально не выходят из кадра данных :( - person KlD; 23.02.2018