Как создать функцию для визуализацию в питоне?

Рейтинг: 0Ответов: 1Опубликовано: 10.03.2023

Подскажите пожалуйста, как написать функцию для вывода графиков на одном плоте после замены пустых значений

fig = plt.figure(figsize=(9,5))
ax = fig.add_subplot(111)
X_train[variable].plot(kind='kde', ax=ax)
X_train[variable_1].plot(kind='kde', ax=ax,color='yellow',label='MeanMedianImputer(mean)')
X_train[variable_2].plot(kind='kde', ax=ax, color='red', label='MeanMedianImputer(median)')
X_train[variable_3].plot(kind='kde', ax=ax, color='green', label='RandomSampleImputer')
X_train[variable_4].plot(kind='kde', ax=ax, color='purple', label='ArbitraryNumberImputer')
X_train[variable_5].plot(kind='kde', ax=ax, color='pink', label='EndTailImputer')
lines, labels = ax.get_legend_handles_labels()
ax.legend(lines, labels, loc='best')

Ответы

▲ 0Принят

Внутри функции нужно выполнить замену пропущенных значений с помощью объектов классов и построить графики.

def plot_imputed_data(dataframe, variable, imputers, colors, labels):
    fig = plt.figure(figsize=(9,5))
    ax = fig.add_subplot(111)
    original_data = dataframe[variable]
    original_data.plot(kind='kde', ax=ax)
    for i, imputer in enumerate(imputers):
        imputed_data = imputer.fit_transform(dataframe[[variable]])
        imputed_data = pd.Series(imputed_data.squeeze())
        imputed_data.plot(kind='kde', ax=ax, color=colors[i], label=labels[i])
    lines, labels = ax.get_legend_handles_labels()
    ax.legend(lines, labels, loc='best')

dataframe - данные, в которых нужно заменить пропущенные значения

variable - название столбца, для которого нужно провести замену пропущенных значений

imputers - список объектов классов, которые будут использоваться для замены пропущенных значений

colors - список цветов для каждого класса

labels - список меток для каждого класса