matplotlib 用于绘制分布的Python函数只适用于一个DataFrame,而不适用于另一个DataFrame-无输出或错误

lf3rwulv  于 2023-10-24  发布在  Python
关注(0)|答案(1)|浏览(155)

我有下面的python函数来制作图表。

def plot_distributions(dataframe, title=None):
    # Set the style of seaborn
    sns.set(style="whitegrid")

    # Plotting distributions for each column
    plt.figure(figsize=(15, 8))

    # Loop through each column and plot distribution
    for i, column in enumerate(dataframe.columns):
        plt.subplot(2, 3, i + 1)
        sns.histplot(dataframe[column], kde=True)

        # Add mean and median lines
        mean_value = dataframe[column].mean()
        median_value = dataframe[column].median()
        plt.axvline(mean_value, color='red', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value:.2f}')
        plt.axvline(median_value, color='green', linestyle='dashed', linewidth=2, label=f'Median: {median_value:.2f}')

        plt.title(column)
        plt.legend()

    # Set the title of the overall plot
    if title:
        plt.suptitle(title, y=1.02, size=16)

    plt.tight_layout()
    plt.show()

然后我有两个嵌套,有完全相同的六个特征和长度,但有不同的数据。

plot_distributions(jaro_df)
plot_distributions(transformer_df)

非常奇怪的是,使用jaro_df工作得很好,而transformer_df只是加载脚本,不输出任何东西,甚至没有错误。这怎么可能?我在google colab,jupyter notebook和vscode上都试过。

vvppvyoh

vvppvyoh1#

问题是两个数组的范围都是从0到1,但其中一个数组有很多小数,导致在创建bin时出现问题

相关问题