Partage de technologie

Visite guidée de la bibliothèque Python - bibliothèque tierce Pandas (011)

2024-07-12

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

Table des matières

1. Explication détaillée de l'utilisation

25. Fonction pandas.HDFStore.get

25-1.

25-2. Paramètres

25-3. Fonction

25-4. Valeur de retour

25-5.

25-6.

25-6-1. Préparation des données

25-6-2. Exemples de codes

25-6-3. Sortie du résultat

26. Fonction pandas.HDFStore.select

26-1.

26-2. Paramètres

26-3. Fonction

26-4. Valeur de retour

26-5.

26-6.

26-6-1. Préparation des données.

26-6-2. Exemples de codes

26-6-3. Sortie du résultat

27. Fonction pandas.HDFStore.info

27-1.

27-2. Paramètres

27-3. Fonction

27-4. Valeur de retour

27-5.

27-6.

27-6-1. Préparation des données.

27-6-2. Exemples de codes

27-6-3. Sortie du résultat

2. Lectures recommandées

1. Parcours de création de fondations Python

2. Un parcours de fonctions Python

3. Parcours de l'algorithme Python

4. Voyage magique Python

5. Page d'accueil personnelle du blog

1. Explication détaillée de l'utilisation

25、pandas.HDFStore.getfonction
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. Paramètres

25-2-1, clé(doit)Une chaîne qui spécifie l'emplacement ou le nom dans le fichier HDF5 des données à récupérer. Cette clé correspond généralement au nom ou au chemin que vous avez utilisé lors de l'enregistrement des données dans le fichier HDF5.

25-3. Fonction

Utilisé pour récupérer (ou obtenir) les données stockées à partir de fichiers HDF5.

25-4. Valeur de retour

De manière générale, cette fonction renverra l'objet pandas associé à la clé, tel qu'un DataFrame, une série ou tout autre conteneur pandas possible.

Plus précisément, la valeur de retour peut être :

25-4-1, trame de données : Si les données associées à la clé stockée dans le fichier HDF5 sont une table ou une structure de données de type table, la méthode get renverra un objet DataFrame. DataFrame est la principale structure de données des pandas pour stocker et manipuler des données structurées. Elle stocke les données sous forme de tableau, contenant des lignes et des colonnes.

Série 25-4-2: Dans certains cas, si les données stockées sont unidimensionnelles, telles que des données de séries chronologiques ou des données d'une seule colonne, la méthode get peut renvoyer un objet Series. La série est utilisée dans les pandas pour stocker des données unidimensionnelles (c'est-à-dire). avec tableau d'index) structure de données.

25-4-3. Autres objets pandas : Bien que moins courants, les fichiers HDF5 peuvent théoriquement stocker d'autres types d'objets pandas, tels que des panneaux (remarque : à partir de la version 0.25.0 de pandas, Panel est obsolète et supprimé de la bibliothèque pandas). Cependant, à mesure que les pandas ont évolué, cette situation est devenue de plus en plus rare.

25-4-4, Aucun ou valeur par défaut : Si la clé spécifiée n'existe pas dans le fichier HDF5 et que la méthode get ne fournit pas de valeur par défaut comme deuxième paramètre, elle peut alors générer une KeyError. Cependant, si une valeur par défaut est fournie (bien que ce ne soit pas un comportement standard pour les méthodes get, car les méthodes get ne prennent généralement pas directement en charge les paramètres de valeur par défaut dans HDFStore), cela peut être le cas pour le DataFrame..obtenir obscurcissement de la méthode), alors il renverra cette valeur par défaut. Cependant, dans le contexte de HDFStore, il est plus courant d'utiliser un bloc try-sauf pour intercepter KeyError et gérer le cas si nécessaire.

25-5.

aucun

25-6.
25-6-1. Préparation des données
25-6-2. Exemples de codes
  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. Sortie du résultat
  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.selectfonction
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. Paramètres

26-2-1, clé(doit)Clé (ou chemin) dans le fichier HDF5 à récupérer. Il s'agit généralement du nom ou du chemin spécifié lors de l'enregistrement des données dans le fichier HDF5.

26-2-2, où(facultatif, la valeur par défaut est Aucun) Expression conditionnelle utilisée pour filtrer les données. S'il s'agit d'une chaîne, il doit s'agir d'une chaîne de requête Pandas valide, similaire à celle utilisée lors de l'utilisation de la méthode .query() sur le DataFrame ; s'il s'agit d'un objet appelable (comme une fonction), elle doit accepter un DataFrame ; en entrée et renvoie une séquence booléenne indiquant quelles lignes doivent être sélectionnées.

26-2-3, démarrage/arrêt(facultatif, la valeur par défaut est Aucun)L'index de début/fin des lignes à récupérer (basé sur 0). Si start et stop sont spécifiés, seules les lignes entre ces deux index seront récupérées (y compris le début, mais pas l'arrêt).

26-2-4, colonnes(facultatif, la valeur par défaut est Aucun)Une liste de noms de colonnes ou un seul nom de colonne à récupérer. Si ce paramètre est spécifié, seules les données de ces colonnes seront récupérées.

26-2-5, itérateur(facultatif, la valeur par défaut est False)Si True, renvoie un itérateur qui génère les données morceau par morceau plutôt que de charger l'intégralité de l'ensemble de données en mémoire en une seule fois, ce qui est utile pour traiter de grands ensembles de données.

26-2-6, taille du morceau(facultatif, la valeur par défaut est Aucun)Lorsque iterator=True, ce paramètre spécifie le nombre de lignes dans chaque bloc, ce qui vous permet de contrôler l'utilisation de la mémoire et peut améliorer les performances lors du traitement de grands ensembles de données.

26-2-7, fermeture automatique(facultatif, la valeur par défaut est False) Si True, le stockage est automatiquement fermé lorsque l'itérateur est épuisé ou qu'une exception se produit, ce qui permet de garantir que le fichier est fermé correctement même lorsqu'une erreur se produit. Cependant, veuillez noter que si vous prévoyez de continuer à utiliser les objets HDFStore une fois l'itérateur épuisé, vous devez définir ce paramètre sur False.

26-3. Fonction

Récupérez les objets pandas (tels que DataFrame ou Series) stockés sous une clé spécifique à partir d'un fichier HDF5 et permettez à l'utilisateur de filtrer ou de contrôler les données récupérées en fonction d'une série de paramètres.

26-4. Valeur de retour

   La valeur de retour dépend du type de données associé à la clé stockée dans le fichier HDF5 et des conditions de requête (le cas échéant). Généralement, la valeur de retour est un objet pandas, tel que :

26-4-1, trame de données: Si les données récupérées sont sous forme tabulaire, un objet DataFrame sera renvoyé.

26-4-2, Série: Si les données récupérées sont unidimensionnelles (par exemple, les données d'une seule colonne), alors un objet Series peut être renvoyé, bien que cela se produise généralement lorsqu'une seule colonne est explicitement spécifiée comme paramètre de colonnes.

26-4-3. Autres objets pandas: En théorie, il pourrait également s'agir d'autres conteneurs pandas, mais dans le contexte des fichiers HDF5, les plus courants sont DataFrame et Series.

26-5.

aucun

26-6.
26-6-1. Préparation des données.
26-6-2. Exemples de codes
  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. Sortie du résultat
  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.infofonction
27-1.
  1. # 27、pandas.HDFStore.info函数
  2. HDFStore.info()
  3. Print detailed information on the store.
  4. Returns:
  5. str
27-2. Paramètres

aucun

27-3. Fonction

Fournit des informations détaillées sur les ensembles de données (également appelés clés ou nœuds) stockés dans les fichiers HDF5.

27-4. Valeur de retour

Il n'y a pas de valeur de retour directe (c'est-à-dire qu'aucune donnée n'est renvoyée à la variable), mais les informations sont imprimées sur la console (ou sur la sortie standard).

27-5.

aucun

27-6.
27-6-1. Préparation des données.
27-6-2. Exemples de codes
  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. Sortie du résultat
  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. Lectures recommandées

1、Parcours de création de fondations Python
2、Visite guidée des fonctions Python
3、Parcours de l'algorithme Python
4、Voyage magique Python
5、Profil du blog