python - 当绘制两个数据集并且其中一个具有更多数据时,我们如何“规范化”它们以使它们在表示上相等?
问题描述
我正在使用 Plotly 绘制一些情绪数据,但我有一个问题是一个字符的行数比另一个字符多得多,所以我们似乎无法比较两者。我不确定如何描述这个以找到解决方案,所以我希望也许有人会理解我所指的内容。以下是图片:
我们不能真正将橙色的消极性与蓝色的消极性进行比较,或者我们可以吗?我们应该让橙色有 600 作为标签,它比蓝色小得多还是正确缩放?
我喜欢这个,所以我们可以说,例如,蓝色不如橙色积极。
对于任何混淆,我深表歉意。谢谢你。
解决方案
我不知道您正在操作哪些对象,但我在您的标签中读取了 pandas,所以我认为它是一个 DataFrame。
import pandas as pd
# Your data
df = pd.DataFrame.from_dict({"orange": [55, 149, 111], "blue": [188, 652, 320]},
orient="index", columns=["negative", "neutral", "positive"])
指数 | 消极的 | 中性的 | 积极的 |
---|---|---|---|
橙 | 55 | 149 | 111 |
蓝色的 | 188 | 652 | 320 |
您可以简单地计算沿其行的每个值的百分比:
perc_df = df.div(df.sum(axis=1), axis=0) * 100
指数 | 消极的 | 中性的 | 积极的 |
---|---|---|---|
橙 | 17.460317 | 47.301587 | 35.238095 |
蓝色的 | 16.206897 | 56.206897 | 27.586207 |
绘制这个新的 DataFrame 后,条形高度将具有可比性。百分比是直观的并且被广泛理解。
推荐阅读
- javascript - 未跨多个 useEffects 定义全局变量
- excel - 复制没有背景颜色的 Excel 范围
- android - Android Webview 文件和相机上传 - Kotlin
- javascript - Node-JS 链接未在邮件中打开
- octave - 如何修复在 Ubuntu 中使用 Intel MKL 产生错误结果的 Octave?
- excel - 检查记录是否存在并将记录附加到底部
- java - 在我的外部数据库中使用 google-in-app 计费保存用户订阅的最佳方法?
- java - Java在扩展类中将非抽象方法覆盖为抽象
- django - 在 Django 休息框架中为 MultipleChoiceField 获取 FieldError
- hyperledger-fabric - 无法启动超级账本结构网络