问题描述
我正在使用 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 | 否定 | 中性 | 正 |
---|---|---|---|
橙色 | 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 后,条形高度将具有可比性。百分比直观且被广泛理解。