python - Pandas boxplot:df.plot.box 和 df.boxplot 的区别?
问题描述
假设我们有这个样本DataFrame
......
df = pd.DataFrame(
data=[["A", 2, 5, 1],
["A", 8, 1, 5],
["C", 2, 2, 1],
["C", 9, 7, 9],
["C", 6, 2, 5],
["C", 3, 8, 5],
["B", 8, 5, 2],
["B", 6, 1, 5],
["B", 6, 5, 3]],
columns=["category", "feature1", "feature2", "feature3"]
)
...而且我想要按类别分组的 3 个功能的箱线图。
根据文档df.plot.box()
by:字符串或序列
DataFrame 中要分组的列。
我认为这应该可以解决问题。然而,df.plot.box(by="category")
结果是:
这是错误的,不是吗?它绝对不是按 分组的category
。
此外,df.groupby("category").plot.box()
绘制每个单独的组,而不是分组category
并绘制联合图:
更有趣的是df.boxplot(by="category")
,我认为它应该只是一个别名,会产生正确的结果:
这是为什么?
解决方案
推荐阅读
- python - 如何将 pandas 数据框中的列值作为新的键值对添加到具有字典的另一列中?
- pandas - Pandas 函数为 DataFrame 中的所有列标题添加下划线
- python - 使用 Python 和 Pandas 按多个文件的标准计数
- xml - 通过 XSLT 将缺少元素值的 XML 转换为宽 CSV 格式
- node.js - sequelize 找不到 SQL Server 主机错误
- laravel - 检查 Eloquent 元素是否与另一个元素相关(使用 MorphToMany 关系)
- javascript - 当两个密码不匹配时,我的 JS 函数不打印任何内容
- c# - 在 SQL Server 中水平显示数据
- image - 需要帮助显示带有颤振/飞镖的图像
- python - 如何读取 Excel 文件,创建二维码?