Я хотел бы исследовать распределение частот всех функций (столбцов) в моей df на основе переменной результата (целевой столбец). В поисках решений я нашел этот прекрасный фрагмент из здесь , который содержит oop над функциями и генерирует гистограммы для объектов в наборе данных рака из Scikit-learn.
import numpy as np
import matplotlib.pyplot as plt
# from matplotlib.pyplot import matplotlib
fig,axes =plt.subplots(10,3, figsize=(12, 9)) # 3 columns each containing 10 figures, total 30 features
malignant=cancer.data[cancer.target==0] # define malignant
benign=cancer.data[cancer.target==1] # define benign
ax=axes.ravel()# flat axes with numpy ravel
for i in range(30):
_,bins=np.histogram(cancer.data[:,i],bins=40)
ax[i].hist(malignant[:,i],bins=bins,color='r',alpha=.5)
ax[i].hist(benign[:,i],bins=bins,color='g',alpha=0.3)
ax[i].set_title(cancer.feature_names[i],fontsize=9)
ax[i].axes.get_xaxis().set_visible(False) # the x-axis co-ordinates are not so useful, as we just want to look how well separated the histograms are
ax[i].set_yticks(())
ax[0].legend(['malignant','benign'],loc='best',fontsize=8)
plt.tight_layout()# let's make good plots
plt.show()

Предполагая, что у меня есть df со всеми функциями и целевой переменной, организованной по последовательным столбцам, как я смогу l oop по моим столбцам воспроизводить гистограммы. Одним из решений, которое я рассмотрел, является groupby
метод.
df.groupby("class").col01.plot(kind='kde', ax=axs[1])
Любые идеи очень ценятся!