Удалить неиспользуемые категории в приморском котле - PullRequest
0 голосов
/ 30 сентября 2019

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

Данные организованы в четыре столбца: Cat1 | Cat2 | Cat3 | Value
Cat1, Cat2 и Cat3 все содержат категориальные значения, а значение Value - образец значения, связанного с конфигурацией категорий. Данные приводятся в порядок, поэтому каждая конфигурация категорий может повторяться для разных значений. Примером фрейма данных (с вымышленными значениями) может быть:

Cat1 Cat2 Cat3  Value
  A    x    1   1.00
  A    x    1   1.05
  A    x    2   1.00
  A    x    2   1.05
  A    y    1   1.00
  A    y    1   1.05
  A    y    2   1.00
  A    y    2   1.05
  B    y    1   1.00
  B    y    1   1.05
  B    y    2   1.00
  B    y    2   1.05
  A    z    1   1.00
  A    z    1   1.05
  A    z    2   1.00
  A    z    2   1.05
  B    z    1   1.00
  B    z    1   1.05
  B    z    2   1.00
  B    z    2   1.05

Я пытался построить данные с помощью функции [seaborn catplot] [(https://seaborn.pydata.org/generated/seaborn.catplot.html)] 1 (как видно из фрагмента ниже)

import seaborn as sns

g = sns.catplot(data=df, x="Cat1", y="Value", hue="Cat3", col="Cat2", kind="box", notch=True, legend=False).set_titles("{col_name}")
plt.show()

Из данных должно быть ясно, что для x (в Cat2) только A являетсяразрешено и нет данных для B. Тем не менее, визуализированный блок-график показывает пустой интервал для B в субпотеке x (см. этот график морского побережья, показывающий пустой интервал для блок-графика в первом субплоте )

Как я могу свернуть эти пустые слоты (реальные данные содержат несколько таких экземпляров), в идеале, при этом все еще имея возможность использовать функцию catplot (или аналогичную). До сих пор я пытался передать ключевые слова sharex=False и facet_kws={"dropna":True}, но ни один из них не имел ожидаемого эффекта.

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