Я получаю следующую ошибку и не уверен, почему? ValueError: ожидаемый 2D-массив, вместо него получен 1D-массив: набор данных, который я использовал, https://catalog.data.gov/dataset/demographic-statistics-by-zip-code-acfc9
Я думал, что он уже преобразован в матрицу, когда он находится в фрейме данных. Тем более, что данные графика отображаются правильно.
Любая помощь будет принята с благодарностью.
#implmenting KNN in python
import pandas as pd
import numpy as np
import operator
import seaborn as sns
import matplotlib.pyplot as plt
import matplotlib.cbook as cbook
import time
start_time = time.time()
#1) Ingest the data via one of the provided formats.
print("Getting csv")
###################################
#2.) Create a data structure to store the data.
data = pd.read_csv(r"C:\Users\trave.DESKTOP-KM5AM0U\Desktop\UNIT 5\Demographic_Statistics_By_Zip_Code.csv", usecols = ["COUNT PARTICIPANTS", "PERCENT RECEIVES PUBLIC ASSISTANCE"])
#msft.plot("JURISDICTION NAME", ["COUNT PUBLIC ASSISTANCE TOTAL", "COUNT PARTICIPANTS"], subplots=True)
# print("Entering data to datfram only 3 columns")
# print ("The number of rows is")
# print (len(data.index))
# print ("The number of columns is")
# print (len(data.columns))
print(data.head)
#################
print("running plots")
#scikit-learn
#####################################
#MATPLOT FOR REGRESSION LINE DATA
Par = data.iloc[:, 0]
Per = data.iloc[:, 1]
# Count_P = data[]
# Public_Aid = data[]
plt.title('Number of people to public aid percentage')
plt.xlabel('#Participant')
plt.ylabel('% Public aid')
plt.plot (Par, Per, 'k.')
plt.axis([.1,200,.1,1])
plt.grid(True)
print("plots complete")
###################################
print("sklearn running")
from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit (X=Par, y=Per)
print('SKLEARN MODULE COMPLETE')
#########################################
####making prediction
print("running prediction")
p = model.predict ([[78]]) [0][0]
print (round(p,2))
# STOP MY TIMER
print ("My program took", time.time() - start_time, "to run")