Technologieaustausch

Coole Python-Bibliothekstour – Drittanbieter-Bibliothek Pandas (011)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Inhaltsverzeichnis

1. Ausführliche Erläuterung der Verwendung

25. pandas.HDFStore.get-Funktion

25-1. Grammatik

25-2. Parameter

25-3. Funktion

25-4. Rückgabewert

25-5. Beschreibung

25-6. Verwendung

25-6-1. Datenvorbereitung

25-6-2. Codebeispiele

25-6-3. Ergebnisausgabe

26. pandas.HDFStore.select-Funktion

26-1. Grammatik

26-2. Parameter

26-3. Funktion

26-4. Rückgabewert

26-5. Beschreibung

26-6. Verwendung

26-6-1. Datenaufbereitung

26-6-2. Codebeispiele

26-6-3. Ergebnisausgabe

27. pandas.HDFStore.info-Funktion

27-1. Grammatik

27-2. Parameter

27-3. Funktion

27-4. Rückgabewert

27-5. Beschreibung

27-6. Verwendung

27-6-1. Datenaufbereitung

27-6-2. Codebeispiele

27-6-3. Ergebnisausgabe

2. Empfohlene Lektüre

1. Reise zum Aufbau der Python-Grundlage

2. Python-Funktionsreise

3. Reise zum Python-Algorithmus

4. Pythons magische Reise

5. Persönliche Blog-Homepage

1. Ausführliche Erläuterung der Verwendung

25、pandas.HDFStore.getFunktion
25-1. Grammatik
  1. # 25、pandas.HDFStore.get函数
  2. HDFStore.get(key)
  3. Retrieve pandas object stored in file.
  4. Parameters:
  5. key
  6. str
  7. Returns:
  8. object
  9. Same type as object stored in file.
25-2. Parameter

25-2-1, Schlüssel(muss)Eine Zeichenfolge, die den Speicherort oder Namen der abzurufenden Daten in der HDF5-Datei angibt. Dieser Schlüssel entspricht normalerweise dem Namen oder Pfad, den Sie beim Speichern der Daten in der HDF5-Datei verwendet haben.

25-3. Funktion

Wird zum Abrufen (oder Abrufen) gespeicherter Daten aus HDF5-Dateien verwendet.

25-4. Rückgabewert

Im Allgemeinen gibt diese Funktion das mit dem Schlüssel verknüpfte Pandas-Objekt zurück, z. B. einen DataFrame, eine Serie oder einen anderen möglichen Pandas-Container.

Im Einzelnen kann der Rückgabewert sein:

25-4-1, Datenrahmen : Wenn es sich bei den mit dem in der HDF5-Datei gespeicherten Schlüssel verknüpften Daten um eine Tabelle oder eine tabellenähnliche Datenstruktur handelt, gibt die get-Methode ein DataFrame-Objekt zurück. DataFrame ist die Hauptdatenstruktur, die in Pandas zum Speichern und Bearbeiten strukturierter Daten verwendet wird. Es speichert Daten in Tabellenform, die Zeilen und Spalten enthält.

25-4-2、Serie: In einigen Fällen, wenn die gespeicherten Daten eindimensional sind, z. B. Zeitreihendaten oder Daten einer einzelnen Spalte, kann die Get-Methode ein Series-Objekt zurückgeben. Series wird in Pandas zum Speichern eindimensionaler Daten verwendet (d. h. mit Index-Array) Datenstruktur.

25-4-3. Andere Pandas-Objekte : Obwohl weniger verbreitet, können HDF5-Dateien theoretisch andere Arten von Pandas-Objekten speichern, z. B. Panels (Hinweis: Ab Pandas-Version 0.25.0 ist Panel veraltet und wurde aus der Pandas-Bibliothek entfernt). Mit der Entwicklung der Pandas ist diese Situation jedoch immer seltener geworden.

25-4-4, Keine oder Standardwert : Wenn der angegebene Schlüssel nicht in der HDF5-Datei vorhanden ist und die get-Methode keinen Standardwert als zweiten Parameter bereitstellt, kann es zu einem KeyError kommen. Wenn jedoch ein Standardwert bereitgestellt wird (obwohl dies kein Standardverhalten für Get-Methoden ist, da Get-Methoden Standardwertargumente in HDFStore im Allgemeinen nicht direkt unterstützen), kann dies für den DataFrame der Fall sein.erhalten Verschleierung der Methode), dann wird dieser Standardwert zurückgegeben. Im Kontext von HDFStore ist es jedoch üblicher, einen Try-Exception-Block zu verwenden, um KeyError abzufangen und den Fall bei Bedarf zu behandeln.

25-5. Beschreibung

keiner

25-6. Verwendung
25-6-1. Datenvorbereitung
25-6-2. Codebeispiele
  1. # 25、pandas.HDFStore.get函数
  2. import pandas as pd
  3. # 创建一个示例的DataFrame
  4. data = pd.DataFrame({
  5. 'A': [1, 2, 3, 4],
  6. 'B': ['foo', 'bar', 'foo', 'bar'],
  7. 'C': [0.1, 0.2, 0.3, 0.4]
  8. })
  9. # 将数据保存到HDF5文件中
  10. filename = 'example.h5'
  11. key = 'data'
  12. data.to_hdf(filename, key=key, format='table', mode='w')
  13. # 从HDF5文件中读取数据
  14. with pd.HDFStore(filename, mode='r') as store:
  15. df_from_hdf = store.get(key)
  16. # 打印读取的数据
  17. print("Data read from HDF5:")
  18. print(df_from_hdf)
25-6-3. Ergebnisausgabe
  1. # 25、pandas.HDFStore.get函数
  2. # Data read from HDF5:
  3. # A B C
  4. # 0 1 foo 0.1
  5. # 1 2 bar 0.2
  6. # 2 3 foo 0.3
  7. # 3 4 bar 0.4
26、pandas.HDFStore.AuswahlFunktion
26-1. Grammatik
  1. # 26、pandas.HDFStore.select函数
  2. HDFStore.select(key, where=None, start=None, stop=None, columns=None, iterator=False, chunksize=None, auto_close=False)
  3. Retrieve pandas object stored in file, optionally based on where criteria.
  4. Warning
  5. 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.
  6. See: https://docs.python.org/3/library/pickle.html for more.
  7. Parameters:
  8. key
  9. str
  10. Object being retrieved from file.
  11. where
  12. list or None
  13. List of Term (or convertible) objects, optional.
  14. start
  15. int or None
  16. Row number to start selection.
  17. stop
  18. int, default None
  19. Row number to stop selection.
  20. columns
  21. list or None
  22. A list of columns that if not None, will limit the return columns.
  23. iterator
  24. bool or False
  25. Returns an iterator.
  26. chunksize
  27. int or None
  28. Number or rows to include in iteration, return an iterator.
  29. auto_close
  30. bool or False
  31. Should automatically close the store when finished.
  32. Returns:
  33. object
  34. Retrieved object from file.
26-2. Parameter

26-2-1, Schlüssel(muss)Der Schlüssel (oder Pfad) in der abzurufenden HDF5-Datei. Dies ist normalerweise der Name oder Pfad, der beim Speichern von Daten in der HDF5-Datei angegeben wird.

26-2-2, wobei(optional, Standardwert ist None) Bedingter Ausdruck, der zum Filtern von Daten verwendet wird. Wenn es sich um eine Zeichenfolge handelt, sollte es sich um eine gültige Pandas-Abfragezeichenfolge handeln, ähnlich der, die bei Verwendung der .query()-Methode für den DataFrame verwendet wird. Wenn es sich um ein aufrufbares Objekt (z. B. eine Funktion) handelt, sollte es einen DataFrame akzeptieren als Eingabe und gibt eine boolesche Sequenz zurück, die angibt, welche Zeilen ausgewählt werden sollen.

26-2-3, Start/Stopp(optional, Standardwert ist None)Der Start-/Endindex der abzurufenden Zeilen (0-basiert). Wenn Start und Stopp angegeben sind, werden nur Zeilen zwischen diesen beiden Indizes abgerufen (einschließlich Start, aber nicht einschließlich Stopp).

26-2-4、Spalten(optional, Standardwert ist None)Eine Liste von abzurufenden Spaltennamen oder ein einzelner Spaltenname. Wenn dieser Parameter angegeben ist, werden nur Daten für diese Spalten abgerufen.

26-2-5, Iterator(optional, Standardwert ist False)Wenn True, wird ein Iterator zurückgegeben, der die Daten Stück für Stück generiert, anstatt den gesamten Datensatz auf einmal in den Speicher zu laden, was bei der Verarbeitung großer Datensätze hilfreich ist.

26-2-6, Blockgröße(optional, Standardwert ist None)Wenn iterator=True, gibt dieser Parameter die Anzahl der Zeilen in jedem Block an, wodurch Sie die Speichernutzung steuern und die Leistung bei der Verarbeitung großer Datensätze verbessern können.

26-2-7, automatisch schließen(optional, Standardwert ist False) Bei „True“ wird der Speicher automatisch geschlossen, wenn der Iterator erschöpft ist oder eine Ausnahme auftritt. Dadurch wird sichergestellt, dass die Datei auch dann korrekt geschlossen wird, wenn ein Fehler auftritt. Bitte beachten Sie jedoch, dass Sie diesen Parameter auf „False“ setzen sollten, wenn Sie HDFStore-Objekte weiterhin verwenden möchten, nachdem der Iterator erschöpft ist.

26-3. Funktion

Rufen Sie Pandas-Objekte (z. B. DataFrame oder Series), die unter einem bestimmten Schlüssel gespeichert sind, aus einer HDF5-Datei ab und ermöglichen Sie dem Benutzer, die abgerufenen Daten basierend auf einer Reihe von Parametern zu filtern oder zu steuern.

26-4. Rückgabewert

   Der Rückgabewert hängt vom Datentyp ab, der dem in der HDF5-Datei gespeicherten Schlüssel zugeordnet ist, und von den Abfragebedingungen (sofern vorhanden). Normalerweise ist der Rückgabewert ein Pandas-Objekt, wie zum Beispiel:

26-4-1, Datenrahmen: Wenn die abgerufenen Daten in Tabellenform vorliegen, wird ein DataFrame-Objekt zurückgegeben.

26-4-2、Serie: Wenn die abgerufenen Daten eindimensional sind (z. B. Daten für eine einzelne Spalte), kann ein Series-Objekt zurückgegeben werden, obwohl dies normalerweise der Fall ist, wenn eine einzelne Spalte explizit als Spaltenparameter angegeben wird.

26-4-3. Andere Pandas-Objekte: Theoretisch könnten es auch andere Pandas-Container sein, aber im Kontext von HDF5-Dateien sind DataFrame und Series die häufigsten.

26-5. Beschreibung

keiner

26-6. Verwendung
26-6-1. Datenaufbereitung
26-6-2. Codebeispiele
  1. # 26、pandas.HDFStore.select函数
  2. import pandas as pd
  3. import numpy as np
  4. # 创建一个示例DataFrame
  5. np.random.seed(0) # 设置随机种子以确保结果可重复
  6. data = pd.DataFrame({
  7. 'A': np.random.randn(100),
  8. 'B': np.random.randn(100),
  9. 'C': np.random.randn(100),
  10. 'D': np.random.randint(0, 2, 100)
  11. })
  12. # 将DataFrame保存到HDF5文件中
  13. with pd.HDFStore('example.h5') as store:
  14. store.put('data', data, format='table')
  15. # 从HDF5文件中检索数据的示例
  16. with pd.HDFStore('example.h5') as store:
  17. # 选择所有数据
  18. print("nAll data:")
  19. all_data = store.select('data')
  20. print(all_data.head()) # 只打印前几行以节省空间
  21. # 选择特定的列
  22. print("nSpecific columns (A, B):")
  23. specific_columns = store.select('data', columns=['A', 'B'])
  24. print(specific_columns.head())
  25. # 选择部分数据行(注意:HDF5的索引可能不是从0开始的,但这里假设它是)
  26. print("nPartial data (rows 10 to 19):")
  27. partial_data = store.select('data', start=10, stop=20)
  28. print(partial_data)
  29. # 使用chunksize来逐块读取数据
  30. print("nData read in chunks:")
  31. chunks = store.select('data', chunksize=10)
  32. for i, chunk in enumerate(chunks):
  33. print(f"Chunk {i + 1}:")
  34. print(chunk.head()) # 只打印每个块的前几行
26-6-3. Ergebnisausgabe
  1. # 26、pandas.HDFStore.select函数
  2. # All data:
  3. # A B C D
  4. # 0 1.764052 1.883151 -0.369182 0
  5. # 1 0.400157 -1.347759 -0.239379 0
  6. # 2 0.978738 -1.270485 1.099660 1
  7. # 3 2.240893 0.969397 0.655264 1
  8. # 4 1.867558 -1.173123 0.640132 0
  9. #
  10. # Specific columns (A, B):
  11. # A B
  12. # 0 1.764052 1.883151
  13. # 1 0.400157 -1.347759
  14. # 2 0.978738 -1.270485
  15. # 3 2.240893 0.969397
  16. # 4 1.867558 -1.173123
  17. #
  18. # Partial data (rows 10 to 19):
  19. # A B C D
  20. # 10 0.144044 1.867559 0.910179 0
  21. # 11 1.454274 0.906045 0.317218 0
  22. # 12 0.761038 -0.861226 0.786328 1
  23. # 13 0.121675 1.910065 -0.466419 0
  24. # 14 0.443863 -0.268003 -0.944446 0
  25. # 15 0.333674 0.802456 -0.410050 0
  26. # 16 1.494079 0.947252 -0.017020 1
  27. # 17 -0.205158 -0.155010 0.379152 1
  28. # 18 0.313068 0.614079 2.259309 0
  29. # 19 -0.854096 0.922207 -0.042257 0
  30. #
  31. # Data read in chunks:
  32. # Chunk 1:
  33. # A B C D
  34. # 0 1.764052 1.883151 -0.369182 0
  35. # 1 0.400157 -1.347759 -0.239379 0
  36. # 2 0.978738 -1.270485 1.099660 1
  37. # 3 2.240893 0.969397 0.655264 1
  38. # 4 1.867558 -1.173123 0.640132 0
  39. # Chunk 2:
  40. # A B C D
  41. # 10 0.144044 1.867559 0.910179 0
  42. # 11 1.454274 0.906045 0.317218 0
  43. # 12 0.761038 -0.861226 0.786328 1
  44. # 13 0.121675 1.910065 -0.466419 0
  45. # 14 0.443863 -0.268003 -0.944446 0
  46. # Chunk 3:
  47. # A B C D
  48. # 20 -2.552990 0.376426 -0.955945 0
  49. # 21 0.653619 -1.099401 -0.345982 1
  50. # 22 0.864436 0.298238 -0.463596 0
  51. # 23 -0.742165 1.326386 0.481481 0
  52. # 24 2.269755 -0.694568 -1.540797 1
  53. # Chunk 4:
  54. # A B C D
  55. # 30 0.154947 -0.769916 -1.424061 1
  56. # 31 0.378163 0.539249 -0.493320 0
  57. # 32 -0.887786 -0.674333 -0.542861 0
  58. # 33 -1.980796 0.031831 0.416050 1
  59. # 34 -0.347912 -0.635846 -1.156182 1
  60. # Chunk 5:
  61. # A B C D
  62. # 40 -1.048553 -1.491258 -0.637437 0
  63. # 41 -1.420018 0.439392 -0.397272 1
  64. # 42 -1.706270 0.166673 -0.132881 0
  65. # 43 1.950775 0.635031 -0.297791 0
  66. # 44 -0.509652 2.383145 -0.309013 0
  67. # Chunk 6:
  68. # A B C D
  69. # 50 -0.895467 -0.068242 0.521065 1
  70. # 51 0.386902 1.713343 -0.575788 1
  71. # 52 -0.510805 -0.744755 0.141953 0
  72. # 53 -1.180632 -0.826439 -0.319328 0
  73. # 54 -0.028182 -0.098453 0.691539 1
  74. # Chunk 7:
  75. # A B C D
  76. # 60 -0.672460 -0.498032 -1.188859 1
  77. # 61 -0.359553 1.929532 -0.506816 1
  78. # 62 -0.813146 0.949421 -0.596314 0
  79. # 63 -1.726283 0.087551 -0.052567 0
  80. # 64 0.177426 -1.225436 -1.936280 0
  81. # Chunk 8:
  82. # A B C D
  83. # 70 0.729091 0.920859 0.399046 0
  84. # 71 0.128983 0.318728 -2.772593 1
  85. # 72 1.139401 0.856831 1.955912 0
  86. # 73 -1.234826 -0.651026 0.390093 1
  87. # 74 0.402342 -1.034243 -0.652409 1
  88. # Chunk 9:
  89. # A B C D
  90. # 80 -1.165150 -0.353994 -0.110541 0
  91. # 81 0.900826 -1.374951 1.020173 0
  92. # 82 0.465662 -0.643618 -0.692050 1
  93. # 83 -1.536244 -2.223403 1.536377 0
  94. # 84 1.488252 0.625231 0.286344 0
  95. # Chunk 10:
  96. # A B C D
  97. # 90 -0.403177 -1.292857 -0.628088 1
  98. # 91 1.222445 0.267051 -0.481027 1
  99. # 92 0.208275 -0.039283 2.303917 0
  100. # 93 0.976639 -1.168093 -1.060016 1
  101. # 94 0.356366 0.523277 -0.135950 0
27、pandas.HDFStore.infoFunktion
27-1. Grammatik
  1. # 27、pandas.HDFStore.info函数
  2. HDFStore.info()
  3. Print detailed information on the store.
  4. Returns:
  5. str
27-2. Parameter

keiner

27-3. Funktion

Bietet detaillierte Informationen zu den Datensätzen (auch Schlüssel oder Knoten genannt), die in HDF5-Dateien gespeichert sind.

27-4. Rückgabewert

Es gibt keinen direkten Rückgabewert (d. h. es werden keine Daten an die Variable zurückgegeben), aber die Informationen werden auf der Konsole (oder der Standardausgabe) ausgegeben.

27-5. Beschreibung

keiner

27-6. Verwendung
27-6-1. Datenaufbereitung
27-6-2. Codebeispiele
  1. # 27、pandas.HDFStore.info函数
  2. import pandas as pd
  3. import numpy as np
  4. # 创建一个包含随机数的数据帧
  5. data = pd.DataFrame({
  6. 'A': np.random.randn(100),
  7. 'B': np.random.randn(100),
  8. 'C': np.random.randn(100),
  9. 'D': np.random.randint(0, 2, 100)
  10. })
  11. # 将数据写入HDF5文件
  12. with pd.HDFStore('example.h5') as store:
  13. store.put('data', data, format='table')
  14. # 使用HDFStore.info()函数获取HDF5文件的信息
  15. with pd.HDFStore('example.h5') as store:
  16. # 打印存储的信息
  17. store.info()
  18. # 读取数据以确认
  19. all_data = store.select('data')
  20. print("nAll data (first 5 rows):")
  21. print(all_data.head())
27-6-3. Ergebnisausgabe
  1. # 27、pandas.HDFStore.info函数
  2. # All data (first 5 rows):
  3. # A B C D
  4. # 0 -1.186803 -0.983345 0.661022 1
  5. # 1 0.549244 -0.429500 -0.022329 1
  6. # 2 1.408989 0.779268 0.079574 1
  7. # 3 -1.178696 0.918125 0.174332 0
  8. # 4 -0.538677 -0.124535 -1.165208 1

2. Empfohlene Lektüre

1、Reise zum Aufbau einer Python-Grundlage
2、Python-Funktionstour
3、Reise zum Python-Algorithmus
4、Python-Magiereise
5、Blog-Profil