Поскольку закоулок памяти хранит данные, коснувшиеся для Пайтона в одной

Я работаю с Пайтоном 3.5. и Панды

Я разрабатываю приложение, которое реализует серию вычислений и процессов на dataframe в Пандах. Выражение dataframe полное через select, который бросил против моей базы данных в SQL Server посредством книжного магазина pypodbc.

import pyodbc
import pandas.io.sql as pd

conn = pyodbc.connect('DRIVER={SQL Server};SERVER=GENIL\Luna;DATABASE=Central;UID=sa;PWD=1')

sql="Select IdActivo,NombreActivo,tickeractivo from Activos"
df = pd.read_sql(sql,conn)

df.head(10)
print (df)

Ну хорошо сказанный select он возвращает мне более 15 миллионов реестров, которым они медлят почти 10 минут с тем, чтобы получать это и хранить это в dataframe панд для Вашего последующего процесса.

Мой вопрос, - если возможно создавать и управлять о результате этого select в кэш-памяти так что был гораздо быстрее груз данных в любом dataframe, который нуждался бы на протяжении процесса.

какая-то подсказка относительно какой формы я могу получать это?

Большое спасибо

Ангел

0
задан 19.01.2017, 17:34
0 ответов

Вкратце, что ты просишь, состоит в том, чтобы давать ему "настойчивость" в Dataframe это, чтобы избегать перечитывать базы данных.

панды он предлагает тебе какие-то решения, чтобы сохранять данные в помещении: http://pandas.pydata.org/pandas-docs/stable/io.html

Моя рекомендация состоит в том, чтобы ты попытался с HDF5 (Pytables):

with pd.HDFStore('store.h5') as store:
    store['df'] = df

Когда ты будешь нуждаться, верни это:

with pd.HDFStore('store.h5') as store:
    df = store['df']

Заметь: я понимаю, что импорт панд осуществляется как import pandas as pd и не как import pandas.io.sql as pd что помещает вопрос.

1
ответ дан 03.12.2019, 17:37
  • 1
    Я понимаю тогда, что, если у меня есть два dataframes, который хранить в HDF5. –  19.01.2017, 21:47
  • 2
    ... ты можешь сохранять оба dataframes в том же файле, каждом с Вашим именем. Tambié n ты можешь манипулировать ими как подмостки способа, сходного с SQL используя формат table для файла hdf5 (В documentació n ты объясняет достаточно добра). –  19.01.2017, 22:26
  • 3
    Только заметка, hdf5 будучи невероятным для многих вещей это не RDMS, какие-то операции написания mú ltiple они могут разлагать файл. Поскольку я предполагаю, что твои данные seguirá n поддержанные базой данных не deberí чтобы быть проблемой, но нужно иметь это в виду. –  19.01.2017, 22:53