У меня есть задание, которое разрешает только matplotlib и базовый python.Я не могу создать необходимую гистограмму.Хотя анаконда определила проблемную линию, я не могу ее понять.
Источник данных находится здесь: https://data.gov.sg/dataset/bookings-for-new-flats-annual?view_id=2cdedc08-ddf6-4e0b-b279-82fdc7e678ea&resource_id=666ed30a-8344-4213-9d2e-076eeafeddd3
Скопировал пример ресурса и реплицировал его.
import numpy as np
import matplotlib.pyplot as plt
fname = "C:\data/bookings-for-new-flats.csv"
data = np.genfromtxt('C:\data/bookings-for-new-flats.csv',
skip_header=1,
dtype=[('financial_year','U50'),('no_of_units','i8')], delimiter=",",
missing_values=['na','-'],filling_values=[0])
labels = list(set(data['financial_year']))
labels.sort()
bookings = np.arange(0,len(labels))
bookings_values = data[['financial_year','no_of_units']]
values = bookings_values['no_of_units']
units_values = {}
for i in labels:
valuesforFY = values[bookings_values['financial_year']==i]
print("No.of Units in FY: " + i + " is {}".format(valuesforFY))
#the line below is critical
units_values[i] = valuesforFY
barchart = plt.bar(list(units_values.keys()), list(units_values.values()), color='b')
plt.show()
Ожидал гистограмму, но получил только пустой.
Система определила эту строку как проблемную --->
barchart = plt.bar(list(units_values.keys()), list(units_values.values()), color='b')