моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Оглавление
1. Подробное объяснение использования.
25. Функция pandas.HDFStore.get
26. Функция pandas.HDFStore.select
27. Функция pandas.HDFStore.info
1. Путешествие по созданию фундамента Python
2. Путешествие по функциям Python
3. Путешествие по алгоритму Python
4. Волшебное путешествие по Python
5. Персональная домашняя страница блога
- # 25、pandas.HDFStore.get函数
- HDFStore.get(key)
- Retrieve pandas object stored in file.
-
- Parameters:
- key
- str
- Returns:
- object
- Same type as object stored in file.
25-2-1、ключ(должен):Строка, указывающая расположение или имя извлекаемых данных в файле HDF5. Этот ключ обычно соответствует имени или пути, которые вы использовали при сохранении данных в файл HDF5.
Используется для извлечения (или получения) сохраненных данных из файлов HDF5.
Вообще говоря, эта функция вернет объект pandas, связанный с ключом, например DataFrame, Series или другой возможный контейнер pandas.
В частности, возвращаемое значение может быть:
25-4-1、DataFrame : Если данные, связанные с ключом, хранящимся в файле HDF5, представляют собой таблицу или подобную таблице структуру данных, метод get вернет объект DataFrame. DataFrame — это основная структура данных в pandas для хранения и управления структурированными данными. Она хранит данные в табличной форме, содержащей строки и столбцы.
25-4-2、Серия: в некоторых случаях, если хранимые данные являются одномерными, например данные временных рядов или данные одного столбца, метод get может возвращать объект Series. Series используется в pandas для хранения одномерных данных (т. е. с массивом индексов) структура данных.
25-4-3. Другие объекты панд. : файлы HDF5, хотя и менее распространены, теоретически могут хранить другие типы объектов pandas, например панели (примечание: начиная с версии pandas 0.25.0, Panel устарела и удалена из библиотеки pandas). Однако по мере развития панд такая ситуация становится все более редкой.
25-4-4, нет или значение по умолчанию. : Если указанный ключ не существует в файле HDF5 и метод get не предоставляет значение по умолчанию в качестве второго параметра, то он может вызвать ошибку KeyError. Однако если указано значение по умолчанию (хотя это не стандартное поведение для методов get, поскольку методы get обычно не поддерживают напрямую параметры значения по умолчанию в HDFStore), это может иметь место для DataFrame..получать обфускация метода), то он вернет значение по умолчанию. Однако в контексте HDFStore чаще используется блок try-Exception для перехвата KeyError и обработки этого случая при необходимости.
никто
无
- # 25、pandas.HDFStore.get函数
- import pandas as pd
- # 创建一个示例的DataFrame
- data = pd.DataFrame({
- 'A': [1, 2, 3, 4],
- 'B': ['foo', 'bar', 'foo', 'bar'],
- 'C': [0.1, 0.2, 0.3, 0.4]
- })
- # 将数据保存到HDF5文件中
- filename = 'example.h5'
- key = 'data'
- data.to_hdf(filename, key=key, format='table', mode='w')
- # 从HDF5文件中读取数据
- with pd.HDFStore(filename, mode='r') as store:
- df_from_hdf = store.get(key)
- # 打印读取的数据
- print("Data read from HDF5:")
- print(df_from_hdf)
- # 25、pandas.HDFStore.get函数
- # Data read from HDF5:
- # A B C
- # 0 1 foo 0.1
- # 1 2 bar 0.2
- # 2 3 foo 0.3
- # 3 4 bar 0.4
- # 26、pandas.HDFStore.select函数
- HDFStore.select(key, where=None, start=None, stop=None, columns=None, iterator=False, chunksize=None, auto_close=False)
- Retrieve pandas object stored in file, optionally based on where criteria.
-
- Warning
-
- Pandas uses PyTables for reading and writing HDF5 files, which allows serializing object-dtype data with pickle when using the “fixed” format. Loading pickled data received from untrusted sources can be unsafe.
-
- See: https://docs.python.org/3/library/pickle.html for more.
-
- Parameters:
- key
- str
- Object being retrieved from file.
-
- where
- list or None
- List of Term (or convertible) objects, optional.
-
- start
- int or None
- Row number to start selection.
-
- stop
- int, default None
- Row number to stop selection.
-
- columns
- list or None
- A list of columns that if not None, will limit the return columns.
-
- iterator
- bool or False
- Returns an iterator.
-
- chunksize
- int or None
- Number or rows to include in iteration, return an iterator.
-
- auto_close
- bool or False
- Should automatically close the store when finished.
-
- Returns:
- object
- Retrieved object from file.
26-2-1、ключ(должен):Ключ (или путь) в файле HDF5, который требуется получить. Обычно это имя или путь, указанные при сохранении данных в файл HDF5.
26-2-2, где(необязательно, значение по умолчанию — Нет): Условное выражение, используемое для фильтрации данных. Если это строка, это должна быть допустимая строка запроса Pandas, аналогичная той, которая используется при использовании метода .query() в DataFrame. Если это вызываемый объект (например, функция), он должен принимать DataFrame; в качестве входных данных и возвращает логическую последовательность, указывающую, какие строки следует выбрать.
26-2-3, старт/стоп(необязательно, значение по умолчанию — Нет):Начальный/конечный индекс извлекаемых строк (отсчитывается от 0). Если указаны начало и конец, будут извлечены только строки между этими двумя индексами (включая начальные, но не включая стоповые).
26-2-4, столбцы(необязательно, значение по умолчанию — Нет):Список имен столбцов или одно имя столбца для получения. Если этот параметр указан, будут получены только данные для этих столбцов.
26-2-5, итератор(необязательно, значение по умолчанию — False):Если принимает значение True, возвращает итератор, который генерирует данные по частям, а не загружает весь набор данных в память сразу, что полезно для обработки больших наборов данных.
26-2-6, размер куска(необязательно, значение по умолчанию — Нет):Когда итератор=True, этот параметр указывает количество строк в каждом блоке, что позволяет контролировать использование памяти и повысить производительность при обработке больших наборов данных.
26-2-7, автозакрытие(необязательно, значение по умолчанию — False): Если задано значение True, хранилище автоматически закрывается, когда итератор исчерпан или возникает исключение, что помогает гарантировать правильное закрытие файла даже в случае возникновения ошибки. Однако обратите внимание: если вы планируете продолжать использовать объекты HDFStore после исчерпания итератора, вам следует установить для этого параметра значение False.
Извлекайте объекты pandas (такие как DataFrame или Series), хранящиеся под определенным ключом из файла HDF5, и позволяйте пользователю фильтровать или контролировать полученные данные на основе ряда параметров.
Возвращаемое значение зависит от типа данных, связанного с ключом, хранящимся в файле HDF5, и условий запроса (если таковые имеются). Обычно возвращаемое значение представляет собой объект pandas, например:
26-4-1、DataFrame: если полученные данные представлены в табличной форме, будет возвращен объект DataFrame.
26-4-2、Серия: Если полученные данные являются одномерными (например, данные для одного столбца), то может быть возвращен объект Series, хотя обычно это происходит, когда один столбец явно указан в качестве параметра columns.
26-4-3. Другие объекты панд.: Теоретически это могут быть и другие контейнеры Pandas, но в контексте файлов HDF5 наиболее распространенными являются DataFrame и Series.
никто
无
- # 26、pandas.HDFStore.select函数
- import pandas as pd
- import numpy as np
- # 创建一个示例DataFrame
- np.random.seed(0) # 设置随机种子以确保结果可重复
- data = pd.DataFrame({
- 'A': np.random.randn(100),
- 'B': np.random.randn(100),
- 'C': np.random.randn(100),
- 'D': np.random.randint(0, 2, 100)
- })
- # 将DataFrame保存到HDF5文件中
- with pd.HDFStore('example.h5') as store:
- store.put('data', data, format='table')
- # 从HDF5文件中检索数据的示例
- with pd.HDFStore('example.h5') as store:
- # 选择所有数据
- print("nAll data:")
- all_data = store.select('data')
- print(all_data.head()) # 只打印前几行以节省空间
- # 选择特定的列
- print("nSpecific columns (A, B):")
- specific_columns = store.select('data', columns=['A', 'B'])
- print(specific_columns.head())
- # 选择部分数据行(注意:HDF5的索引可能不是从0开始的,但这里假设它是)
- print("nPartial data (rows 10 to 19):")
- partial_data = store.select('data', start=10, stop=20)
- print(partial_data)
- # 使用chunksize来逐块读取数据
- print("nData read in chunks:")
- chunks = store.select('data', chunksize=10)
- for i, chunk in enumerate(chunks):
- print(f"Chunk {i + 1}:")
- print(chunk.head()) # 只打印每个块的前几行
- # 26、pandas.HDFStore.select函数
- # All data:
- # A B C D
- # 0 1.764052 1.883151 -0.369182 0
- # 1 0.400157 -1.347759 -0.239379 0
- # 2 0.978738 -1.270485 1.099660 1
- # 3 2.240893 0.969397 0.655264 1
- # 4 1.867558 -1.173123 0.640132 0
- #
- # Specific columns (A, B):
- # A B
- # 0 1.764052 1.883151
- # 1 0.400157 -1.347759
- # 2 0.978738 -1.270485
- # 3 2.240893 0.969397
- # 4 1.867558 -1.173123
- #
- # Partial data (rows 10 to 19):
- # A B C D
- # 10 0.144044 1.867559 0.910179 0
- # 11 1.454274 0.906045 0.317218 0
- # 12 0.761038 -0.861226 0.786328 1
- # 13 0.121675 1.910065 -0.466419 0
- # 14 0.443863 -0.268003 -0.944446 0
- # 15 0.333674 0.802456 -0.410050 0
- # 16 1.494079 0.947252 -0.017020 1
- # 17 -0.205158 -0.155010 0.379152 1
- # 18 0.313068 0.614079 2.259309 0
- # 19 -0.854096 0.922207 -0.042257 0
- #
- # Data read in chunks:
- # Chunk 1:
- # A B C D
- # 0 1.764052 1.883151 -0.369182 0
- # 1 0.400157 -1.347759 -0.239379 0
- # 2 0.978738 -1.270485 1.099660 1
- # 3 2.240893 0.969397 0.655264 1
- # 4 1.867558 -1.173123 0.640132 0
- # Chunk 2:
- # A B C D
- # 10 0.144044 1.867559 0.910179 0
- # 11 1.454274 0.906045 0.317218 0
- # 12 0.761038 -0.861226 0.786328 1
- # 13 0.121675 1.910065 -0.466419 0
- # 14 0.443863 -0.268003 -0.944446 0
- # Chunk 3:
- # A B C D
- # 20 -2.552990 0.376426 -0.955945 0
- # 21 0.653619 -1.099401 -0.345982 1
- # 22 0.864436 0.298238 -0.463596 0
- # 23 -0.742165 1.326386 0.481481 0
- # 24 2.269755 -0.694568 -1.540797 1
- # Chunk 4:
- # A B C D
- # 30 0.154947 -0.769916 -1.424061 1
- # 31 0.378163 0.539249 -0.493320 0
- # 32 -0.887786 -0.674333 -0.542861 0
- # 33 -1.980796 0.031831 0.416050 1
- # 34 -0.347912 -0.635846 -1.156182 1
- # Chunk 5:
- # A B C D
- # 40 -1.048553 -1.491258 -0.637437 0
- # 41 -1.420018 0.439392 -0.397272 1
- # 42 -1.706270 0.166673 -0.132881 0
- # 43 1.950775 0.635031 -0.297791 0
- # 44 -0.509652 2.383145 -0.309013 0
- # Chunk 6:
- # A B C D
- # 50 -0.895467 -0.068242 0.521065 1
- # 51 0.386902 1.713343 -0.575788 1
- # 52 -0.510805 -0.744755 0.141953 0
- # 53 -1.180632 -0.826439 -0.319328 0
- # 54 -0.028182 -0.098453 0.691539 1
- # Chunk 7:
- # A B C D
- # 60 -0.672460 -0.498032 -1.188859 1
- # 61 -0.359553 1.929532 -0.506816 1
- # 62 -0.813146 0.949421 -0.596314 0
- # 63 -1.726283 0.087551 -0.052567 0
- # 64 0.177426 -1.225436 -1.936280 0
- # Chunk 8:
- # A B C D
- # 70 0.729091 0.920859 0.399046 0
- # 71 0.128983 0.318728 -2.772593 1
- # 72 1.139401 0.856831 1.955912 0
- # 73 -1.234826 -0.651026 0.390093 1
- # 74 0.402342 -1.034243 -0.652409 1
- # Chunk 9:
- # A B C D
- # 80 -1.165150 -0.353994 -0.110541 0
- # 81 0.900826 -1.374951 1.020173 0
- # 82 0.465662 -0.643618 -0.692050 1
- # 83 -1.536244 -2.223403 1.536377 0
- # 84 1.488252 0.625231 0.286344 0
- # Chunk 10:
- # A B C D
- # 90 -0.403177 -1.292857 -0.628088 1
- # 91 1.222445 0.267051 -0.481027 1
- # 92 0.208275 -0.039283 2.303917 0
- # 93 0.976639 -1.168093 -1.060016 1
- # 94 0.356366 0.523277 -0.135950 0
- # 27、pandas.HDFStore.info函数
- HDFStore.info()
- Print detailed information on the store.
-
- Returns:
- str
никто
Предоставляет подробную информацию о наборах данных (также называемых ключами или узлами), хранящихся в файлах HDF5.
Прямого возвращаемого значения нет (то есть в переменную не возвращаются никакие данные), но информация выводится на консоль (или стандартный вывод).
никто
无
- # 27、pandas.HDFStore.info函数
- import pandas as pd
- import numpy as np
- # 创建一个包含随机数的数据帧
- data = pd.DataFrame({
- 'A': np.random.randn(100),
- 'B': np.random.randn(100),
- 'C': np.random.randn(100),
- 'D': np.random.randint(0, 2, 100)
- })
- # 将数据写入HDF5文件
- with pd.HDFStore('example.h5') as store:
- store.put('data', data, format='table')
- # 使用HDFStore.info()函数获取HDF5文件的信息
- with pd.HDFStore('example.h5') as store:
- # 打印存储的信息
- store.info()
- # 读取数据以确认
- all_data = store.select('data')
- print("nAll data (first 5 rows):")
- print(all_data.head())
- # 27、pandas.HDFStore.info函数
- # All data (first 5 rows):
- # A B C D
- # 0 -1.186803 -0.983345 0.661022 1
- # 1 0.549244 -0.429500 -0.022329 1
- # 2 1.408989 0.779268 0.079574 1
- # 3 -1.178696 0.918125 0.174332 0
- # 4 -0.538677 -0.124535 -1.165208 1