내 코드가 인터넷에서 정보를 수집해야하고 그 작업이 잘되어 있어야합니다. 이제 데이터베이스에서 해당 데이터를 가져 와서 numpy 배열로 가져와야합니다. 하지만 어딘가에 실수가 있습니다 ...Python numpy 오류
저는이 모든 것에 매우 새롭지 만 여전히 많은 것을 이해하고 있습니다. 모든 종류의 도움을 주시면 감사하겠습니다.
이 오류입니다 :
ValueError: could not broadcast input array from shape (1818,2) into shape (1818)
그리고 이것은 내 코드입니다 : 오류들이 같은 크기 있어야 할 곳에 두 배열이 함께 사용되는 사실을 말하려고한다
import numpy as np
import sqlite3 as db
import selenium
from selenium import webdriver
import time
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
from sklearn.neighbors import KNeighborsClassifier
driver = webdriver.Chrome()
driver.get("http://www.rezultati.com/utakmica/nZudUKkp/#detalji")
#Collecting data
try:
d_kvz = driver.find_element_by_xpath('//*[@id="default-odds"]/tbody/tr[1]/td[2]/span').text
try:
d_kv = float(d_kvz)
except ValueError:
d_kv = 1.00
except NoSuchElementException:
d_kvz = 1.00
d_kv = 1.00
print(d_kv)
# open new link
driver.find_element_by_id('a-match-odds-comparison').click()
newtab = driver.current_window_handle
driver.switch_to.window(newtab)
time.sleep(2)
# open new link and collect more data
driver.find_element_by_id("bookmark-under-over").click()
try:
granicax = driver.find_elements_by_xpath(
"//*[@id='block-under-over-ft-include-ot']/table/tbody/tr/td[preceding-sibling::td[1]/div/a[@title='bet365'] and following-sibling::td/span[@class=' odds-wrap ']]")
granicaz = granicax[0].text
except IndexError:
granicaz = 0
granica = float(granicaz)
print(granica)
# Collecting data from db1
conn = db.connect('rezultati.db')
print("Connected with db1!")
conn.row_factory = lambda cursor, row: row[0]
c = conn.cursor()
br_po = c.execute("SELECT BR_PO FROM model").fetchall()
granica = c.execute("SELECT GRANICA FROM model").fetchall()
kvota = c.execute("SELECT D_KV FROM model").fetchall()
x = np.vstack((granica,kvota)).T
y = np.vstack((br_po))
print(x)
print(y)
c.close()
conn.close()
print("Connection closed")
knn = KNeighborsClassifier(n_neighbors=1)
knn.fit(x,y)
knn2 = KNeighborsClassifier(n_neighbors=5)
knn2.fit(x,y)
b = (knn.predict([x,y]))[0]
u = (knn2.predict([x,y]))[0]
t = b.tolist()
r = u.tolist()
print(t)
print(r)
rezultat = 0
conn2 = db.connect('ProbaStatistike.db')
print("Connected with db2")
c2 = conn2.cursor()
c2.execute("INSERT INTO Probica VALUES (?,?,?,?)",
(granica,t,r,rezultat,))
conn2.commit()
driver.close()
c2.close()
conn2.close()
print("Connection closed")
는 전체 스택 추적을 추가 할 수 있습니까? –