Есть ли реализация для python pandas, которая кэширует данные на диске, чтобы я мог избегать их воспроизведения каждый раз?
В частности есть ли метод кеширования для get_yahoo_data финансовых?
Очень плюсом будет:

Есть много способов добиться этого, но, вероятно, самый простой способ - использовать встроенные методы для записи и чтения Соленые огурцы Python. Вы можете использовать pandas.DataFrame.to_pickle для сохранения DataFrame на диск и pandas.read_pickle для чтения сохраненного DataFrame с диска.
Пример для pandas.DataFrame:
# Store your DataFrame
df.to_pickle('cached_dataframe.pkl') # will be stored in current directory
# Read your DataFrame
df = pandas.read_pickle('cached_dataframe.pkl') # read from current directory
Те же методы работают и для pandas.Series:
# Store your Series
series.to_pickle('cached_series.pkl') # will be stored in current directory
# Read your DataFrame
series = pandas.read_pickle('cached_series.pkl') # read from current directory
В зависимости от различных требований, для этого есть дюжина методов, туда и обратно, в CSV, Excel, JSON, Python Pickle Format, HDF5 и даже SQL с DB и т. д.
Что касается строк кода, многие из этих форматов to/read представляют собой всего лишь одну строку кода для каждого направления. Python и Pandas уже делают код настолько чистым, насколько это возможно, так что вы можете меньше беспокоиться об этом.
Я думаю, что не существует единого решения, удовлетворяющего все требования, на самом деле в каждом конкретном случае:
И если вы хотите ежедневно обновлять цены на акции и для последующего использования, я предпочитаю Панды с SQL-запросами, конечно, это добавит несколько строк кода для настройки соединения с БД:
from sqlalchemy import create_engine
new_data = getting_daily_price()
# You can also choose other db drivers instead of `sqlalchemy`
engine = create_engine('sqlite:///:memory:')
with engine.connect() as conn:
new_data.to_sql('table_name', conn) # To Write
df = pd.read_sql_table('sql_query', conn) # To Read
@LucaC. Я просто переписал ответ по вашему обновленному вопросу. Надеюсь, это может быть более полезным.
Вот сравнение скоростей для нескольких методов сериализации. Я думаю, что JSON - лучший выбор здесь из-за удобочитаемости, скорости и безопасности. benfrederickson.com/dont-pickle-your-data
Вы можете использовать пакет Кэш данных.
from data_cache import pandas_cache
@pandas_cache
def foo():
...
Я использую python, чтобы не писать много кода, какое решение было бы лучшим и более дешевым с точки зрения строк кода?