当绘制两个数据集并且其中一个数据集更多时,我们如何“标准化”它们以使它们在表示上相等?

问题描述

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

enter image description here

enter image description here

我们真的无法将橙色的消极性与蓝色的消极性进行比较,或者我们可以吗?我们应该让橙色的标签为 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"])
index 否定 中性
橙色 55 149 111
蓝色 188 652 320

您可以简单地计算每个值在其行中的百分比:

perc_df = df.div(df.sum(axis=1),axis=0) * 100
index 否定 中性
橙色 17.460317 47.301587 35.238095
蓝色 16.206897 56.206897 27.586207

绘制此新 DataFrame 后,条形高度将具有可比性。百分比直观且被广泛理解。