#pandas #matplotlib #linear-regression
#pandas #matplotlib #линейная регрессия
Вопрос:
Я получаю ошибку TypeError: должно быть str, а не ошибка float для моей линейной регрессии, когда я скопировал код из предыдущей диаграммы и просто обновил переменные. Ниже приведены мои зависимости, а также код. строка (наклон, перехват) указывает на ошибку. Любая помощь приветствуется. Я довольно новичок в кодировании и, похоже, просто не могу разобраться в этом.
import pandas as pd
import numpy as np
import requests
import time
import json
import random
import scipy.stats as st
from sklearn import datasets
from scipy.stats import linregress
from pprint import pprint```
x_values = city_data.loc[city_data['Latitude']>=0]
y_values = city_data['Temperature']
(slope, intercept, rvalue, pvalue, stderr) = stats.linregress(x_values, y_values)
regress_values = x_values * slope intercept
line_eq = "y = " str(round(slope,2)) "x " str(round(intercept,2))
plt.scatter(x_values, y_values, marker="o", facecolors="green", edgecolors="black",
s=30, alpha=0.75)
plt.plot(x_values,regress_value,"r-")
plt.annotate(line_eq,(20,36),fontsize=15,color="red")
plt.xlim(-50, 85)
plt.ylim(10,95 )
plt.title('City Norther Hemisphere Latitude vs Temperature (10/10/2020)')
plt.xlabel('Latitude')
plt.ylabel('Tempurature (F)')
plt.show()```
Комментарии:
1. Какая строка выдала вам ошибку?
2. (наклон, перехват, rvalue, pvalue, stderr) = stats.linregress(x_values, y_values)
Ответ №1:
Измените эту строку на:
city_data = city_data[city_data['Latitude']>=0]
x_values = city_data['Latitude']
Комментарии:
1. распечатал x_values, и он печатает весь мой фрейм данных…
2. И это то, что вы намеревались?
3. Это не так. Мне просто нужны значения в столбце «Широта», которые больше или равны нулю
4. Я только что понял это, я установил the . loc к переменной, а затем извлек ряд из этой переменной в x_values, если это имеет смысл.