Краткий ответ:
Использование панд и морских пород:
import pandas as pd
import seaborn as sns
df = pd.read_csv('CARS.csv', index_col=0)
sns.heatmap(df)
Длинный ответ:
Вы можете запустить свой код, исправив некоторые ошибки ...
fileObj = open("CARS.csv").readlines()
lines = [line.strip().split(",") for line in fileObj]
cars = [line[0] for line in lines[1:]]
kpis = lines[0][1:]
scoring = np.array([line[1:-1] for line in lines[1:]], dtype=float)
fig=plt.figure(figsize=(6,3))
ax=fig.add_subplot(111)
ax.set_title('Sportscar KPI Data')
ax.set_xlabel("KPI")
ax.set_ylabel('Sports car')
ax.set_xticks(range(len(kpis)))
ax.set_xticklabels(kpis)
ax.set_yticks(range(len(cars)))
ax.set_yticklabels(cars)
im = ax.imshow(scoring, interpolation='nearest', aspect='auto')
plt.show()
Однако ,
тамЕсть много вещей, которые не могут быть выполнены в Python, как это (кроме всех ошибок отступов и того факта, что вы пытаетесь построить scores
, хотя ваша переменная была введена как scoring
):
Прежде всего, если вы откроете файл, вы сделаете это в первой строке, а затем начнете получать к нему доступ:
fileObj = open("CARS.csv")
lines = [line.strip().split(",") for line in fileObj.readlines()]
Затем вы сможете правильно закрыть файл после его прочтения с помощью
fileObj.close()
потому что теперь fileObj
действительно - это файловый объект, fileObj.readlines()
- нет, это список строк.
В любом случае, было бы еще лучше использовать *Блок 1040 * для этой задачи по обработке файлов, который автоматически закрывается для вас:
with(open('CARS.csv')) as fileObj:
lines = [line.strip().split(",") for line in fileObj.readlines()]
(Обратите внимание, что здесь отступ необходим для всего, что показаноОбрабатывается блоком with)
Но, тем не менее, даже если это уже лучше, никто не будет делать это шаг за шагом, читая файл построчно, извлекая метки вручную и конвертируяподраздел массива numpy.
Даже если вы по какой-либо причине не можете / не хотите использовать панд и морских зайцев, как предложено выше, у numpy есть несколько хорошо написанных импортеров, например, np.genfromtxt
.