簡體   English   中英

在熊貓中制作條形圖

[英]Make a bar-chart in pandas

我有一個包含菜餚和分數的數據集,但是當我嘗試制作條形圖時,我每次都會收到相同的錯誤消息。

# -*- coding: utf-8 -*-

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("https://gitlab.stud.iie.ntnu.no/nilstesd/python-big-data/raw/master/data/dishes.csv", sep=";", encoding="utf-8")
print(df.head())


df = df.groupby(['Dish']).mean()
df = df.mean(['Dish']).values
df = df.mean(['Score']).values


plt.figure(figsize = (8,6), dpi = 72)
plt.xlabel('Dish')
plt.ylabel('Score')
plt.title('Dishes')
ax = plt.gca()
colors= ['r', 'b']
df.plot(kind='bar',color=colors, alpha=0.75, ax=ax)
plt.grid(b=True, which='major', linewidth=1.0)
plt.grid(b=True, which='minor')

類型錯誤:不可散列的類型:'列表

您不需要將 groupby 對象的每一列重新分配給自身:應該刪除df = df.mean(['Dish']).valuesdf = df.mean(['Score']).values行正如@Henry Ecker 和@azro 在評論中指出的那樣

# -*- coding: utf-8 -*-

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("https://gitlab.stud.iie.ntnu.no/nilstesd/python-big-data/raw/master/data/dishes.csv", sep=";", encoding="utf-8")
print(df.head())

df = df.groupby(['Dish']).mean()

plt.figure(figsize = (8,6), dpi = 72)
plt.xlabel('Dish')
plt.ylabel('Score')
plt.title('Dishes')
ax = plt.gca()
colors= ['r', 'b']
df.plot(kind='bar',color=colors, alpha=0.75, ax=ax)
plt.grid(b=True, which='major', linewidth=1.0)
plt.grid(b=True, which='minor')
plt.show()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM