首页 > 解决方案 > 当绘制两个数据集并且其中一个具有更多数据时,我们如何“规范化”它们以使它们在表示上相等?

问题描述

我正在使用 Plotly 绘制一些情绪数据,但我有一个问题是一个字符的行数比另一个字符多得多,所以我们似乎无法比较两者。我不确定如何描述这个以找到解决方案,所以我希望也许有人会理解我所指的内容。以下是图片:

在此处输入图像描述

在此处输入图像描述

我们不能真正将橙色的消极性与蓝色的消极性进行比较,或者我们可以吗?我们应该让橙色有 600 作为标签,它比蓝色小得多还是正确缩放?

我喜欢这个,所以我们可以说,例如,蓝色不如橙色积极。

对于任何混淆,我深表歉意。谢谢你。

标签: pythonpandasdataframestatisticsdataset

解决方案


我不知道您正在操作哪些对象,但我在您的标签中读取了 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 后,条形高度将具有可比性。百分比是直观的并且被广泛理解。


推荐阅读