【问题标题】:Pandas Dataframe Boxplot Y axis not correct scalePandas Dataframe Boxplot Y 轴比例不正确
【发布时间】:2019-06-28 13:42:37
【问题描述】:

我正在尝试使用 Pandas Dataframe 的 boxplot 功能,但我的某些功能与其他功能的比例不同,这使得图表看起来很糟糕,无法读取最小的 Y 值。

这是我的代码:

df.boxplot(by='label', figsize=(30,30))

我得到一个由 4 x 4 图表组成的网格,每个图表有 4 个正确的标签。

但是,比例尺会针对最大值进行调整,而不是针对每个图表单独进行。

有没有办法解决这个问题?谢谢 !

更新:

这是我尝试过的:

charts = df.boxplot(by='label', figsize=(30,30), return_type='axes')

for ax in charts:
   y_axe_name = ax.get_title()
   min_value = all_data[y_axe_name].min()
   max_value = all_data[y_axe_name].max()
   ax.set_ylim(0, max_value + (20 * max_value / 100))

plt.show()

我受到Set y-axis scale for pandas Dataframe Boxplot(), 3 Deviations? 的启发,但它仍然无法正常工作。这些图表仍然共享相同的 y 轴。

【问题讨论】:

    标签: python pandas dataframe boxplot


    【解决方案1】:

    我发现的最好的解决方法是规范化数据集:

    def normalized(df, column_name):
      df[column_name].fillna(value=0, inplace=True)
      df[column_name] = df[column_name] / df[column_name].max()
      return df
    

    这样 y 尺度在 0 和 1 之间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 2018-09-21
      • 2019-04-20
      • 2015-03-27
      • 1970-01-01
      • 2021-06-11
      • 1970-01-01
      相关资源
      最近更新 更多