Я пытаюсь разбросать сюжеты о карьере НФЛ, которые в течение первых двух сезонов в лиге собрали менее 1000 ярдов.
Когда я просто запускаю таблицу в Workbench, все данные отображаются так, как она должна выглядеть.Но когда я использую PyCharm, используя приведенный ниже код, я думаю, что что-то идет не так.Когда я запускаю plt.show (), я получаю окно с «Рисунок 1», но внутри него ничего нет.Когда я печатаю (TDpG), я получаю обратно:
[Десятичное число ('44 ') Десятичное число ('48') Десятичное число ('33 ') Десятичное число ('43') Десятичное число ('25 ') ...]
Это причина моей проблемы?Это то, что мне нужно изменить в запросе к базе данных?
import mysql.connector as con
import matplotlib as mpl
mpl.use('TkAgg')
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
mydb = con.connect(
host="localhost",
user="root",
password="=",
database="NFLffDB"
)
mycursor = mydb.cursor()
wr = "SELECT (cartdrec/TotalGames) as TDpG, (carecy/TotalGames) as YpG FROM `NFLffDB`.`player`JOIN ( SELECT offense.player as playerid, sum(offense.trg) as cartrg, sum(offense.rec) as carec, sum(offense.recy) as carecy, sum(offense.tdrec) as cartdrec, count(offense.player) as TotalGames FROM `NFLffDB`.`offense`JOIN ( SELECT * FROM ( SELECT player.player as badearlyWR, player.start as Start, player.pname, player.pos1, sum(offense.trg) as trg, sum(offense.rec) as earlyrec, sum(offense.recy) as earlyrecy, sum(offense.tdrec) as earlytdrec FROM `NFLffDB`.`player`JOIN offense on player.player = offense.player WHERE player.pos1 = 'WR' and offense.year < player.start + 2 and offense.year != 2017 GROUP BY player.player, player.start ) AS subQWR2 WHERE subQWR2.earlyrecy < 1000 ) as youngcareer on offense.player = youngcareer.badearlyWR WHERE year > Start+1 and year < Start+7 GROUP BY offense.player ) as CarNum on player.player=CarNum.playerid ORDER BY YpG DESC LIMIT 200; "
mycursor.execute(wr)
myresult = mycursor.fetchall()
df = pd.DataFrame(list(myresult), columns=["TDpG", "YpG"])
TDpG = np.array(df.TDpG)
YpG = np.array(df.YpG)
plt.scatter(TDpG, YpG)
plt.show()