当绘制两个数据集并且其中一个数据集有更多数据时,我们如何 "normalize" 使它们在表示上相等?
When plotting two datasets and one of them has much more data, how do we "normalize" them so they're equal in representation?
我正在使用 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"])
index
negative
neutral
positive
orange
55
149
111
blue
188
652
320
您可以简单地计算每个值沿其行的百分比:
perc_df = df.div(df.sum(axis=1), axis=0) * 100
index
negative
neutral
positive
orange
17.460317
47.301587
35.238095
blue
16.206897
56.206897
27.586207
绘制此新 DataFrame 后,条形高度将具有可比性。百分比直观且广为人知。
我正在使用 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"])
index | negative | neutral | positive |
---|---|---|---|
orange | 55 | 149 | 111 |
blue | 188 | 652 | 320 |
您可以简单地计算每个值沿其行的百分比:
perc_df = df.div(df.sum(axis=1), axis=0) * 100
index | negative | neutral | positive |
---|---|---|---|
orange | 17.460317 | 47.301587 | 35.238095 |
blue | 16.206897 | 56.206897 | 27.586207 |
绘制此新 DataFrame 后,条形高度将具有可比性。百分比直观且广为人知。