τα στοιχεία επικοινωνίας μου
Ταχυδρομείο[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Πίνακας περιεχομένων
1. Σε βάθος εξήγηση της χρήσης
25. λειτουργία pandas.HDFStore.get
26. pandas.HDFStore.λειτουργία επιλογής
27. λειτουργία pandas.HDFStore.info
1. Ταξίδι στο κτίριο θεμελίων Python
2. Ένα ταξίδι συναρτήσεων Python
5. Blog προσωπική αρχική σελίδα
- # 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 ή άλλο πιθανό κοντέινερ panda.
Συγκεκριμένα, η τιμή επιστροφής μπορεί να είναι:
25-4-1, DataFrame : Εάν τα δεδομένα που σχετίζονται με το κλειδί που είναι αποθηκευμένο στο αρχείο HDF5 είναι μια δομή δεδομένων σαν πίνακα ή πίνακα, η μέθοδος λήψης θα επιστρέψει ένα αντικείμενο DataFrame. Το DataFrame είναι η κύρια δομή δεδομένων στα panda για την αποθήκευση και το χειρισμό δομημένων δεδομένων Αποθηκεύει δεδομένα σε μορφή πίνακα, που περιέχει σειρές και στήλες.
25-4-2, Σειρά: Σε ορισμένες περιπτώσεις, εάν τα αποθηκευμένα δεδομένα είναι μονοδιάστατα, όπως δεδομένα χρονοσειρών ή δεδομένα μιας στήλης, η μέθοδος λήψης μπορεί να επιστρέψει ένα αντικείμενο σειράς που χρησιμοποιείται στα panda για την αποθήκευση μονοδιάστατων δεδομένων (δηλ. με πίνακα ευρετηρίων) δομή δεδομένων.
25-4-3 Άλλα αντικείμενα πάντα : Αν και λιγότερο συνηθισμένα, τα αρχεία HDF5 μπορούν θεωρητικά να αποθηκεύσουν άλλους τύπους αντικειμένων panda, όπως Πίνακες (σημείωση: ξεκινώντας από την έκδοση panda 0.25.0, το Panel έχει καταργηθεί και αφαιρεθεί από τη βιβλιοθήκη pandas). Ωστόσο, καθώς τα πάντα εξελίσσονται, αυτή η κατάσταση γίνεται όλο και πιο σπάνια.
25-4-4, Κανένα ή προεπιλεγμένη τιμή : Εάν το καθορισμένο κλειδί δεν υπάρχει στο αρχείο HDF5 και η μέθοδος λήψης δεν παρέχει μια προεπιλεγμένη τιμή ως δεύτερη παράμετρο, τότε ενδέχεται να προκληθεί σφάλμα κλειδιού. Ωστόσο, εάν παρέχεται μια προεπιλεγμένη τιμή (αν και αυτή δεν είναι τυπική συμπεριφορά για τις μεθόδους λήψης, καθώς οι μέθοδοι λήψης γενικά δεν υποστηρίζουν άμεσα τις παραμέτρους προεπιλεγμένων τιμών στο HDFStore), αυτό μπορεί να ισχύει για το DataFrame.παίρνω συσκότιση της μεθόδου), τότε θα επιστρέψει την προεπιλεγμένη τιμή. Ωστόσο, στο πλαίσιο του HDFStore, είναι πιο συνηθισμένο να χρησιμοποιείτε ένα μπλοκ try-except για να εντοπίσετε το 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 ως είσοδο και επιστρέφει μια Boolean ακολουθία που υποδεικνύει ποιες σειρές πρέπει να επιλεγούν.
26-2-3, έναρξη/διακοπή(προαιρετικό, η προεπιλεγμένη τιμή είναι Κανένα):Το αρχικό/τελικό ευρετήριο των σειρών που πρόκειται να ανακτηθούν (με βάση το 0, εάν έχουν καθοριστεί η έναρξη και η διακοπή, θα ανακτηθούν μόνο οι σειρές μεταξύ αυτών των δύο ευρετηρίων (συμπεριλαμβανομένης της έναρξης, αλλά χωρίς τη λήξη).
26-2-4, στήλες(προαιρετικό, η προεπιλεγμένη τιμή είναι Κανένα):Μια λίστα με ονόματα στηλών ή ένα όνομα μιας στήλης για ανάκτηση Εάν έχει καθοριστεί αυτή η παράμετρος, θα ανακτηθούν μόνο δεδομένα για αυτές τις στήλες.
26-2-5, επαναληπτικός(προαιρετικό, η προεπιλεγμένη τιμή είναι False):Εάν είναι True, επιστρέφει έναν επαναλήπτη που δημιουργεί το κομμάτι δεδομένων ανά κομμάτι αντί να φορτώνει ολόκληρο το σύνολο δεδομένων στη μνήμη ταυτόχρονα, κάτι που είναι χρήσιμο για την επεξεργασία μεγάλων συνόλων δεδομένων.
26-2-6, χοντρό μέγεθος(προαιρετικό, η προεπιλεγμένη τιμή είναι Κανένα):Όταν iterator=True, αυτή η παράμετρος καθορίζει τον αριθμό των σειρών σε κάθε μπλοκ, το οποίο σας επιτρέπει να ελέγχετε τη χρήση της μνήμης και μπορεί να βελτιώσετε την απόδοση κατά την επεξεργασία μεγάλων συνόλων δεδομένων.
26-2-7、αυτόματο_κλείσιμο(προαιρετικό, η προεπιλεγμένη τιμή είναι False): Εάν είναι True, ο χώρος αποθήκευσης κλείνει αυτόματα όταν εξαντληθεί ο επαναληπτικός ή παρουσιαστεί μια εξαίρεση, η οποία βοηθά να διασφαλιστεί ότι το αρχείο έχει κλείσει σωστά ακόμα και όταν παρουσιαστεί σφάλμα. Ωστόσο, σημειώστε ότι εάν σκοπεύετε να συνεχίσετε να χρησιμοποιείτε αντικείμενα HDFStore μετά την εξάντληση του επαναληπτικού, θα πρέπει να ορίσετε αυτήν την παράμετρο σε False.
Ανακτήστε αντικείμενα panda (όπως DataFrame ή Series) που είναι αποθηκευμένα κάτω από ένα συγκεκριμένο κλειδί από ένα αρχείο HDF5 και επιτρέψτε στον χρήστη να φιλτράρει ή να ελέγχει τα ανακτημένα δεδομένα με βάση μια σειρά παραμέτρων.
Η επιστρεφόμενη τιμή εξαρτάται από τον τύπο δεδομένων που σχετίζεται με το κλειδί που είναι αποθηκευμένο στο αρχείο HDF5 και τις συνθήκες ερωτήματος (εάν υπάρχουν). Συνήθως, η τιμή επιστροφής είναι ένα αντικείμενο panda, όπως:
26-4-1, DataFrame: Εάν τα δεδομένα που ανακτήθηκαν είναι σε μορφή πίνακα, θα επιστραφεί ένα αντικείμενο DataFrame.
26-4-2, Σειρά: Εάν τα δεδομένα που ανακτώνται είναι μονοδιάστατα (για παράδειγμα, δεδομένα για μια στήλη), τότε μπορεί να επιστραφεί ένα αντικείμενο σειράς, αν και αυτό συμβαίνει συνήθως όταν μια μεμονωμένη στήλη ορίζεται ρητά ως παράμετρος στηλών.
26-4-3 Άλλα αντικείμενα πάντα: Θεωρητικά θα μπορούσαν να είναι και άλλα δοχεία panda, αλλά στο πλαίσιο των αρχείων 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