Функция read_hdf
Функция read_hdf применяется для чтения данных из файлов
формата HDF5. Первым параметром передаётся путь к файлу,
вторым - ключ, по которому нужно извлечь данные из хранилища.
Если ключ не указан, возвращается первый найденный объект.
Функция может читать как DataFrame, так и Series.
Синтаксис
pd.read_hdf(path_or_buf, key=None, mode='r')
Основные параметры:
-
path_or_buf- путь к файлу или объект файлового потока -
key- ключ объекта в хранилище -
mode- режим открытия файла ('r', 'r+', 'a', 'w')
Пример
Давайте запишем таблицу в HDF5-файл, а затем прочитаем её
обратно с помощью функции read_hdf:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
df.to_hdf('data.h5', key='df')
res = pd.read_hdf('data.h5', key='df')
print(res)
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
3 4 40
4 5 50
Пример
Если в файле хранится несколько объектов, можно указать конкретный ключ для чтения:
import pandas as pd
df1 = pd.DataFrame({'a': [1, 2, 3], 'b': [10, 20, 30]})
df2 = pd.DataFrame({'a': [4, 5, 6], 'b': [40, 50, 60]})
with pd.HDFStore('data.h5') as store:
store.put('data1', df1)
store.put('data2', df2)
res = pd.read_hdf('data.h5', key='data2')
print(res)
Результат выполнения кода:
a b
0 4 40
1 5 50
2 6 60
Пример
Функция также позволяет читать отдельные серии из HDF5-файла:
import pandas as pd
ser = pd.Series([1, 2, 3, 4, 5])
ser.to_hdf('series.h5', key='ser')
res = pd.read_hdf('series.h5', key='ser')
print(res)
Результат выполнения кода:
0 1
1 2
2 3
3 4
4 5
dtype: int64
Пример
При чтении можно использовать параметр mode
для указания режима открытия файла:
import pandas as pd
df = pd.DataFrame({'a': [1, 2, 3], 'b': [10, 20, 30]})
df.to_hdf('data.h5', key='df')
res = pd.read_hdf('data.h5', key='df', mode='r')
print(res)
Результат выполнения кода:
a b
0 1 10
1 2 20
2 3 30
Смотрите также
-
метод
read_csv,
который читает данные из CSV-файлов -
метод
read_json,
который читает данные из JSON-формата -
метод
read_parquet,
который читает данные из Parquet-файлов -
метод
read_pickle,
который читает данные из Pickle-файлов