【发布时间】:2019-06-06 15:57:27
【问题描述】:
我正在尝试遍历 Pandas 数据框,并仅为包含两个唯一值的列生成条形图。我设想最终的条形图在 X 轴上包含两个唯一值,在 Y 轴上显示行数。
我已经能够从我的数据框 (df_clean) 中生成一个系列,它向我显示每列的唯一值数量:
col_values = df_clean.apply(lambda x: len(x.unique()))
但我完全不知道如何:
- 遍历我的 df_clean 以仅绘制具有两个唯一值的列
- 如何在一个图中生成多个图(我认为 matplotlib 子图会有所帮助?)
在相同的代码中,我已经能够成功地遍历我的 df_clean 并成功地绘制所有 int 和 float 类型的列。我正在努力解决如何针对上述问题修改此工作代码。
i = 1
c_num_cols = len(df_clean.select_dtypes(["int64","float64"]).columns)
for column in df_clean.select_dtypes(["int64","float64"]).columns:
plt.subplot(c_num_cols,(c_num_cols % 2) + 1,i)
plt.subplots_adjust(hspace=0.5)
df_clean[column].plot(kind = 'hist', figsize = [15,c_num_cols * 4], title = column)
i += 1
【问题讨论】: