0

我有一个看起来像这样的数据集,我需要使用位置作为颜色,单词作为 x 轴。

country   good   amazing    best
    Aus     12        45      12
   Fiji     25         5      23
    USA     45         5      12
     UK     88       258      18

理想情况下,它看起来像这样:

在此处输入图像描述

我尝试了以下代码:

positive.iplot(kind = 'bar', title = 'Frequency of Positive Words per Country', y = 'Location', x = ['good', 'amazing', 'best'])
4

1 回答 1

0

要生成像您想要的那样的分组条形图,每个国家及其值都应该有自己的列,因此您需要在某个时候转置您的 df。

同样在您的示例图像中,条形的高度似乎与您的 df 中的值不匹配,但我假设这只是一个显示您要创建的条形图类型的图像。

import pandas as pd
import matplotlib.pyplot as plt

df = pd.DataFrame({
    'country': ["Aus","Fiji","USA","UK"], 
    'good': [12,25,45,88], 
    'amazing': [45,5,5,258],
    'best':[12,23,12,18]})

df_values = df[['good','amazing','best']]
df_values.index = df['country']

# transpose the dataframe so that each country and its values have its own column
ax = df_values.T.plot.bar(rot=0)
plt.show()

在此处输入图像描述

于 2020-05-13T01:57:05.327 回答