В этом случае foo будет представлять значение «value», которое представляет собой серию: GeneralData ['value']. SQLite, похоже, не может загружать данные в последовательном формате.
имаюсь разработкой приложения, которое получает финансовые данные из Федеральной резервной системы, сохраняет их в базе данных SQlite с помощью Flask-SQlalchemy, а затем передает данные на мою интерфейсную панель (Bokeh).
Данные, которые я использую, структурированы следующим образом:
date realtime_end realtime_start value
0 1962-01-02 2018-08-02 2018-08-02 4.06
1 1962-01-03 2018-08-02 2018-08-02 4.03
2 1962-01-04 2018-08-02 2018-08-02 3.99
3 1962-01-05 2018-08-02 2018-08-02 4.02
4 1962-01-08 2018-08-02 2018-08-02 4.03
5 1962-01-09 2018-08-02 2018-08-02 4.05
6 1962-01-10 2018-08-02 2018-08-02 4.07
7 1962-01-11 2018-08-02 2018-08-02 4.08
8 1962-01-12 2018-08-02 2018-08-02 4.08
9 1962-01-15 2018-08-02 2018-08-02 4.10
10 1962-01-16 2018-08-02 2018-08-02 4.13
11 1962-01-17 2018-08-02 2018-08-02 4.12
12 1962-01-18 2018-08-02 2018-08-02 4.11
13 1962-01-19 2018-08-02 2018-08-02 4.11
14 1962-01-22 2018-08-02 2018-08-02 4.09
15 1962-01-23 2018-08-02 2018-08-02 4.11
16 1962-01-24 2018-08-02 2018-08-02 4.10
17 1962-01-25 2018-08-02 2018-08-02 4.11
18 1962-01-26 2018-08-02 2018-08-02 4.11
19 1962-01-29 2018-08-02 2018-08-02 4.12
20 1962-01-30 2018-08-02 2018-08-02 4.11
21 1962-01-31 2018-08-02 2018-08-02 4.10
22 1962-02-01 2018-08-02 2018-08-02 4.09
23 1962-02-02 2018-08-02 2018-08-02 4.08
24 1962-02-05 2018-08-02 2018-08-02 4.07
25 1962-02-06 2018-08-02 2018-08-02 4.06
26 1962-02-07 2018-08-02 2018-08-02 4.07
27 1962-02-08 2018-08-02 2018-08-02 4.07
28 1962-02-09 2018-08-02 2018-08-02 4.05
29 1962-02-12 2018-08-02 2018-08-02 NaN
В моей модели SQLalchemy я пытаюсь сохранить данные из столбца «значение» следующим образом:
value = db.Column(db.Float)
В настоящее время он находится в типе данных float64, но для SQLite требуется, чтобы он имел общий тип с плавающей точкой Python (а не NumPy, который является float64). Я пытаюсь преобразовать столбец «значение» в общие значения с плавающей точкой Python следующим образом:
ValueData = GeneralData['value'].astype(float) #slices the 'value' column from the dataframe
ValueForSQL = Graph(value = ValueData) #stores values in the 'value' column of SQLite table.
Однако я получаю следующую ошибку при запуске кода:Msgstr "StatementError не может преобразовать серию в класс 'float'".
Проблема заключается в том, что SQlite не может обрабатывать серии или списки данных. Например, если я использую GeneralData ['value']. Iloc [3], он работает нормально. Это потому, что данные уже в формате float64.
SQlite принимает это, потому что это отдельная точка данных, а не список или серия. Однако значение - это столбец тысяч значений. Как заставить SQlite принять всю серию?