Condivisione della tecnologia

Tour della libreria Python - libreria di terze parti Pandas (011)

2024-07-12

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

Sommario

1. Spiegazione approfondita dell'utilizzo

25. funzione pandas.HDFStore.get

25-1

25-2

25-3

25-4. Valore restituito

25-5

25-6

25-6-1

25-6-2. Esempi di codici

25-6-3

26. funzione pandas.HDFStore.select

26-1

26-2

26-3

26-4. Valore restituito

26-5

26-6

26-6-1

26-6-2 Esempi di codici

26-6-3

27. funzione pandas.HDFStore.info

27-1

27-2

27-3

27-4. Valore restituito

27-5

27-6

27-6-1

27-6-2 Esempi di codici

27-6-3

2. Lettura consigliata

1. Viaggio nella creazione delle basi di Python

2. Viaggio nelle funzioni Python

3. Viaggio sull'algoritmo Python

4. Viaggio magico di Python

5. Home page personale del blog

1. Spiegazione approfondita dell'utilizzo

25、panda.HDFStore.getfunzione
25-1
  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

25-2-1、chiave(dovere)Una stringa che specifica la posizione o il nome nel file HDF5 dei dati da recuperare. Questa chiave corrisponde solitamente al nome o al percorso utilizzato durante il salvataggio dei dati nel file HDF5.

25-3

Utilizzato per recuperare (o ottenere) i dati memorizzati dai file HDF5.

25-4. Valore restituito

In generale, questa funzione restituirà l'oggetto panda associato alla chiave, come un DataFrame, una serie o un altro possibile contenitore panda.

Nello specifico il valore restituito può essere:

25-4-1、DataFrame : Se i dati associati alla chiave memorizzata nel file HDF5 sono una tabella o una struttura dati simile a una tabella, il metodo get restituirà un oggetto DataFrame. DataFrame è la struttura dati principale utilizzata nei panda per archiviare e manipolare dati strutturati. Memorizza i dati in formato tabellare, contenente righe e colonne.

25-4-2, Serie: In alcuni casi, se i dati archiviati sono unidimensionali, ad esempio dati di serie temporali o dati di una singola colonna, il metodo get può restituire un oggetto Series Series viene utilizzato nei panda per archiviare dati unidimensionali (ovvero, con array di indici) struttura dati.

25-4-3. Altri oggetti panda : Sebbene meno comuni, i file HDF5 possono teoricamente memorizzare altri tipi di oggetti panda, come i Pannelli (nota: a partire dalla versione panda 0.25.0, Pannello è stato deprecato e rimosso dalla libreria panda). Tuttavia, con l’evoluzione dei panda, questa situazione è diventata sempre più rara.

25-4-4, Nessuno o valore predefinito : Se la chiave specificata non esiste nel file HDF5 e il metodo get non fornisce un valore predefinito come secondo parametro, potrebbe sollevare un KeyError. Tuttavia, se viene fornito un valore predefinito (sebbene questo non sia un comportamento standard per i metodi get, poiché i metodi get generalmente non supportano direttamente argomenti con valore predefinito in HDFStore), questo potrebbe essere il caso del DataFrame.Ottenere offuscamento del metodo), restituirà il valore predefinito. Tuttavia, nel contesto di HDFStore, è più comune utilizzare un blocco try-Exception per rilevare KeyError e gestire il caso, se necessario.

25-5

nessuno

25-6
25-6-1
25-6-2. Esempi di codici
  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
  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.selezionafunzione
26-1
  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

26-2-1、chiave(dovere)La chiave (o percorso) nel file HDF5 da recuperare, in genere è il nome o il percorso specificato durante il salvataggio dei dati nel file HDF5.

26-2-2, dove(facoltativo, il valore predefinito è Nessuno) Espressione condizionale utilizzata per filtrare i dati. Se è una stringa, dovrebbe essere una stringa di query Panda valida, simile a quella utilizzata quando si utilizza il metodo .query() su DataFrame; se è un oggetto richiamabile (come una funzione), dovrebbe accettare un DataFrame come input e restituisce una sequenza booleana che indica quali righe devono essere selezionate.

26-2-3、avvio/arresto(facoltativo, il valore predefinito è Nessuno)L'indice iniziale/finale delle righe da recuperare (in base 0) Se vengono specificati inizio e fine, verranno recuperate solo le righe tra questi due indici (incluso inizio, ma escluso fine).

26-2-4、colonne(facoltativo, il valore predefinito è Nessuno)Un elenco di nomi di colonna o un nome di colonna singola da recuperare Se questo parametro è specificato, verranno recuperati solo i dati di queste colonne.

26-2-5, iteratore(facoltativo, il valore predefinito è False)Se True, restituisce un iteratore che genera i dati pezzo per pezzo invece di caricare l'intero set di dati in memoria in una sola volta, il che è utile per l'elaborazione di set di dati di grandi dimensioni.

26-2-6、dimensione del pezzo(facoltativo, il valore predefinito è Nessuno)Quando iterator=True, questo parametro specifica il numero di righe in ciascun blocco, consentendo di controllare l'utilizzo della memoria e di migliorare le prestazioni durante l'elaborazione di set di dati di grandi dimensioni.

26-2-7、chiusura automatica(facoltativo, il valore predefinito è False) Se True, l'archiviazione viene chiusa automaticamente quando l'iteratore viene esaurito o si verifica un'eccezione, il che aiuta a garantire che il file venga chiuso correttamente anche quando si verifica un errore. Tuttavia, tieni presente che se prevedi di continuare a utilizzare gli oggetti HDFStore dopo l'esaurimento dell'iteratore, devi impostare questo parametro su False.

26-3

Recupera oggetti panda (come DataFrame o Series) archiviati sotto una chiave specifica da un file HDF5 e consente all'utente di filtrare o controllare i dati recuperati in base a una serie di parametri.

26-4. Valore restituito

   Il valore restituito dipende dal tipo di dati associato alla chiave archiviata nel file HDF5 e dalle condizioni della query (se presenti). In genere, il valore restituito è un oggetto panda, come ad esempio:

26-4-1、DataFrame: Se i dati recuperati sono in formato tabellare, verrà restituito un oggetto DataFrame.

26-4-2, Serie: se i dati recuperati sono unidimensionali (ad esempio, dati per una singola colonna), è possibile che venga restituito un oggetto Series, sebbene ciò si verifichi in genere quando una singola colonna viene specificata esplicitamente come parametro columns.

26-4-3. Altri oggetti panda: In teoria potrebbero essere anche altri contenitori Panda, ma nel contesto dei file HDF5 i più comuni sono DataFrame e Series.

26-5

nessuno

26-6
26-6-1
26-6-2 Esempi di codici
  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
  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、panda.HDFStore.infofunzione
27-1
  1. # 27、pandas.HDFStore.info函数
  2. HDFStore.info()
  3. Print detailed information on the store.
  4. Returns:
  5. str
27-2

nessuno

27-3

Fornisce informazioni dettagliate sui set di dati (chiamati anche chiavi o nodi) archiviati nei file HDF5.

27-4. Valore restituito

Non esiste un valore di ritorno diretto (ovvero, nessun dato viene restituito alla variabile), ma le informazioni vengono stampate sulla console (o sull'output standard).

27-5

nessuno

27-6
27-6-1
27-6-2 Esempi di codici
  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
  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. Lettura consigliata

1、Viaggio nella costruzione delle fondamenta di Python
2、Tour delle funzioni Python
3、Viaggio sull'algoritmo Python
4、Viaggio magico di Python
5、Profilo del blog