#python #matplotlib #machine-learning
Вопрос:
Я проходил обучение, но когда я запускал код в среде IDE, произошла ошибка. Ссылка на учебник находится здесь: https://thecleverprogrammer.com/2020/12/29/house-price-prediction-with-python/. Это код, который у меня есть до сих пор: Первая ячейка:
import pandas as pd
url = "https://raw.githubusercontent.com/ageron/handson-ml/master/datasets/housing/housing.csv"
names = ['longitude','latitude','housing_median_age','total_rooms','total_bedrooms', 'population','households','median_income','median_house_value','ocean_proximity']
housing = pd.read_csv(url, names=names)
housing.head()
Вторая ячейка:
housing.info()
Третья ячейка:
housing.ocean_proximity.value_counts()
Четвертая ячейка:
import matplotlib.pyplot as plt
housing.hist(bins=50,figsize=(10, 8))
plt.show()
Во второй строке четвертой ячейки у меня ошибка. Как указано в названии, компилятор говорит ValueError: hist method requires numerical columns, nothing to plot.
, почему это так?
Комментарии:
1. Когда вы используете
pd.read_csv
этот способ, в фрейме данных нет информации о типах данных. Вам нужно будет использовать аргументdtype
ключевого слова и указать типы данных вручную.2. Хорошо, спасибо. Я пытался сделать что-то вроде
housing = pd.read_csv(url, names=names, dtype={'longitude':float})
. Он все еще говорит, что есть ошибка (он говоритcould not convert string to float: 'longitude'
). Я не думаю, что мне нужно это объяснять, но как бы я не включил название и только цифры под ним?3. Используйте аргумент
header
ключевого слова. Я полагаюheader=0
, что первая строка указывает на заголовки столбцов.