Teknologian jakaminen

Pythonin viileä kirjastokierros - kolmannen osapuolen kirjasto Pandas (011)

2024-07-12

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

Sisällysluettelo

1. Syvällinen selitys käytöstä

25. pandas.HDFStore.get-toiminto

25-1

25-2

25-3 Toiminto

25-4

25-5 Kuvaus

25-6 Käyttö

25-6-1 Tietojen valmistelu

25-6-2 Koodiesimerkkejä

25-6-3 Tulostulos

26. pandas.HDFStore.select-toiminto

26-1

26-2

26-3 Toiminto

26-4

26-5 Kuvaus

26-6 Käyttö

26-6-1 Tietojen valmistelu

26-6-2 Koodiesimerkkejä

26-6-3 Tulostulos

27. pandas.HDFStore.info-toiminto

27-1

27-2

27-3 Toiminto

27-4

27-5 Kuvaus

27-6 Käyttö

27-6-1

27-6-2 Koodiesimerkkejä

27-6-3 Tulostulos

2. Suositeltavaa luettavaa

1. Python-säätiön rakennusmatka

2. Python-funktiomatka

3. Python-algoritmimatka

4. Python Magical Journey

5. Blogin henkilökohtainen kotisivu

1. Syvällinen selitys käytöstä

25、pandas.HDFStore.gettoiminto
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, avain(on pakko)Merkkijono, joka määrittää haettavien tietojen sijainnin tai nimen HDF5-tiedostossa Tämä avain vastaa yleensä nimeä tai polkua, jota käytit tallentaessasi tietoja HDF5-tiedostoon.

25-3 Toiminto

Käytetään tallennettujen tietojen hakemiseen (tai hankkimiseen) HDF5-tiedostoista.

25-4

Yleisesti ottaen tämä toiminto palauttaa avaimeen liitetyn pandasobjektin, kuten DataFramen, Seriesin tai muun mahdollisen pandaskontin.

Tarkemmin sanottuna palautusarvo voi olla:

25-4-1、DataFrame : Jos HDF5-tiedostoon tallennettuun avaimeen liittyvä data on taulukko tai taulukkomainen tietorakenne, get-menetelmä palauttaa DataFrame-objektin. DataFrame on tärkein tietorakenne, jota käytetään pandoissa strukturoidun tiedon tallentamiseen ja käsittelyyn. Se tallentaa tiedot taulukkomuodossa, joka sisältää rivejä ja sarakkeita.

25-4-2, sarja: Joissakin tapauksissa, jos tallennetut tiedot ovat yksiulotteisia, kuten aikasarjatiedot tai yksittäisen sarakkeen tiedot, get-menetelmä voi palauttaa Series-objektin, jota pandassa käytetään yksiulotteisten tietojen tallentamiseen (eli hakemistotaulukon kanssa) tietorakenne.

25-4-3 Muut pandaesineet : Vaikka HDF5-tiedostot ovat harvinaisempia, ne voivat teoriassa tallentaa muuntyyppisiä pandaobjekteja, kuten paneeleja (huomaa: Pandaversiosta 0.25.0 alkaen paneeli on vanhentunut ja poistettu pandakirjastosta). Pandojen kehittyessä tämä tilanne on kuitenkin tullut yhä harvinaisemmaksi.

25-4-4, Ei mitään tai oletusarvo : Jos määritettyä avainta ei ole HDF5-tiedostossa ja get-menetelmä ei anna oletusarvoa toiseksi parametriksi, se voi aiheuttaa KeyError-ilmoituksen. Jos kuitenkin annetaan oletusarvo (vaikka tämä ei ole standardikäytäntö get-menetelmille, koska get-menetelmät eivät yleensä tue suoraan oletusarvoargumentteja HDFStoressa), näin voi olla DataFramen tapauksessa..saada menetelmän hämärtäminen), se palauttaa oletusarvon. HDFStoren yhteydessä on kuitenkin yleisempää käyttää try-except-lohkoa KeyErrorin havaitsemiseen ja tapauksen käsittelemiseen tarvittaessa.

25-5 Kuvaus

ei mitään

25-6 Käyttö
25-6-1 Tietojen valmistelu
25-6-2 Koodiesimerkkejä
  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 Tulostulos
  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.selecttoiminto
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, avain(on pakko)Haettavan HDF5-tiedoston avain (tai polku), tämä on yleensä nimi tai polku, joka määritetään tallennettaessa tietoja HDF5-tiedostoon.

26-2-2, missä(valinnainen, oletusarvo on Ei mitään) Ehdollinen lauseke, jota käytetään tietojen suodattamiseen. Jos se on merkkijono, sen tulee olla kelvollinen Pandas-kyselymerkkijono, joka on samanlainen kuin käytettäessä .query()-metodia DataFramessa, jos se on kutsuttava objekti (kuten funktio), sen pitäisi hyväksyä DataFrame syötteenä ja palauttaa Boolen sekvenssin, joka osoittaa, mitkä rivit tulee valita.

26-2-3, start/stop(valinnainen, oletusarvo on Ei mitään)Haettavien rivien aloitus-/loppuindeksi (0-perusteinen), jos aloitus ja lopetus on määritetty, vain näiden kahden indeksin väliset rivit haetaan (mukaan lukien aloitus, mutta ei lopetus).

26-2-4, sarakkeet(valinnainen, oletusarvo on Ei mitään)Haettavien sarakkeiden nimien luettelo tai yksittäinen sarakkeen nimi Jos tämä parametri on määritetty, vain näiden sarakkeiden tiedot haetaan.

26-2-5, iteraattori(valinnainen, oletusarvo on False)Jos tosi, palauttaa iteraattorin, joka luo datan pala kerrallaan sen sijaan, että lataa koko tietojoukon muistiin kerralla, mikä on hyödyllistä suurten tietojoukkojen käsittelyssä.

26-2-6, palakoko(valinnainen, oletusarvo on Ei mitään)Kun iterator=True, tämä parametri määrittää kunkin lohkon rivien lukumäärän, minkä avulla voit hallita muistin käyttöä ja parantaa suorituskykyä suuria tietojoukkoja käsiteltäessä.

26-2-7、auto_close(valinnainen, oletusarvo on False) Jos True, tallennustila suljetaan automaattisesti, kun iteraattori loppuu tai tapahtuu poikkeus, mikä auttaa varmistamaan, että tiedosto suljetaan oikein myös virheen sattuessa. Huomaa kuitenkin, että jos aiot jatkaa HDFStore-objektien käyttöä iteraattorin käytön jälkeen, aseta tämä parametri arvoon False.

26-3 Toiminto

Noutaa tietyllä avaimella tallennetut pandaobjektit (kuten DataFrame tai Series) HDF5-tiedostosta ja antaa käyttäjän suodattaa tai hallita haettua dataa parametrisarjan perusteella.

26-4

   Palautusarvo riippuu HDF5-tiedostoon tallennettuun avaimeen liittyvästä tietotyypistä ja kyselyehdoista (jos sellaisia ​​on). Yleensä palautusarvo on pandaobjekti, kuten:

26-4-1、DataFrame: Jos haetut tiedot ovat taulukkomuodossa, DataFrame-objekti palautetaan.

26-4-2, sarja: Jos haetut tiedot ovat yksiulotteisia (esimerkiksi yhden sarakkeen tiedot), Series-objekti voidaan palauttaa, vaikka tämä tapahtuu yleensä, kun yksi sarake on nimenomaisesti määritetty sarakkeet-parametriksi.

26-4-3 Muut pandaesineet: Teoriassa se voisi olla myös muita pandakonttia, mutta HDF5-tiedostojen yhteydessä yleisimmät ovat DataFrame ja Series.

26-5 Kuvaus

ei mitään

26-6 Käyttö
26-6-1 Tietojen valmistelu
26-6-2 Koodiesimerkkejä
  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 Tulostulos
  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.infotoiminto
27-1
  1. # 27、pandas.HDFStore.info函数
  2. HDFStore.info()
  3. Print detailed information on the store.
  4. Returns:
  5. str
27-2

ei mitään

27-3 Toiminto

Tarjoaa yksityiskohtaisia ​​tietoja HDF5-tiedostoihin tallennetuista tietojoukoista (jota kutsutaan myös avaimiksi tai solmuiksi).

27-4

Suoraa palautusarvoa ei ole (eli tietoja ei palauteta muuttujaan), mutta tiedot tulostetaan konsoliin (tai vakiotulosteeseen).

27-5 Kuvaus

ei mitään

27-6 Käyttö
27-6-1
27-6-2 Koodiesimerkkejä
  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 Tulostulos
  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. Suositeltavaa luettavaa

1、Python-säätiön rakennusmatka
2、Python-toimintokierros
3、Python-algoritmimatka
4、Pythonin taikamatka
5、Blogin profiili