Ниже приведен образец набора данных, который у меня есть:
df = pd.DataFrame(np.array([[1,40], [2, 51], [3, 59], [4, 10], [5, 30], [7, 20], [9, 21], [13, 30], [15, 70], [2, 81]]),columns=['A', 'B')
На основании значений в столбце AI определены три группы:
Group_1A = df[(df['A'] >= 0) & (df['A'] <= 3)]
Group_2A = df[(df['A'] >= 4) & (df['A'] <= 7)]
Group_3A = df[(df['A'] >= 9) & (df['A'] <= 15)]
Для столбца BI также естьтри группы следующим образом:
Group_1B = df[(df['B'] >= 10) & (df['B'] <= 30)]
Group_2B = df[(df['B'] >= 40) & (df['B'] <= 60)]
Group_3B = df[(df['B'] >= 70) & (df['B'] <= 100)]
Теперь мне нужен график, который показывает все 9 коробочных графиков вместе. Sth, как на следующей картинке. ![enter image description here](https://i.stack.imgur.com/DDJ1S.png)
Я пытался использовать seaborn.boxplot и пытался выяснить, могу ли я построить 9 боксов по отдельности, а затем объединить их вместе, но это не сработало. Например, я попытался определить новый набор данных на основе групп 1А и 1В следующим образом:
df2 = Group_1A[Group_1A[(df['B'] >= 10) & (df['B'] <= 30)]]
fig, ax = plt.subplots(figsize=(9,9))
ax = sns.boxplot(x="B",y="A", data=df2,ax=ax)#,order=order)
Это дает мне только один из блокпостов (когда А находится в диапазоне [0-3] и В вдиапазон [10-30]). ![enter image description here](https://i.stack.imgur.com/GEvzn.png)
Мне интересно, может ли кто-нибудь мне помочь.
Заранее спасибо