私のコードは、インターネット上の情報と私がうまくいったことを収集する必要があります。今私はデータベースからデータを取得し、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")
あなたは完全なスタックトレースを追加することはできますか? –