рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рдХреНрд░рдорд╢рдГ
"рдкрд╛рдпрдерди рд╡реЗрдм рдбреЗрд╡рд▓рдкрд░" рдкрд╛рдареНрдпрдХреНрд░рдо рдХрд╛ рд╢реБрднрд╛рд░рдВрдн рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд╣рдо рдЕрднреА рднреА рджрд┐рд▓рдЪрд╕реНрдк рд▓реЗрдЦ рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЦреБрд▓реЗ рдкрд╛рдареЛрдВ рдореЗрдВ рдЖрдордВрддреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЖрдк рджрд┐рд▓рдЪрд╕реНрдк рд╕рд╛рдордЧреНрд░реА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ,
рд╢рд┐рдХреНрд╖рдХреЛрдВ рдХреЛ рдЬрд╛рди рд╕рдХрддреЗ
рд╣реИрдВ рдФрд░ рдЙрдирд╕реЗ рд╕рд╡рд╛рд▓ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВред
рдЪрд▓реЛ рдЪрд▓рддреЗ рд╣реИрдВ!
HDF5 рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рдХреБрд╢рд▓ рднрдВрдбрд╛рд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИрдЬрдм рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдпрд╛ рдирдХрд▓реА, рдЙрдиреНрд╣реЗрдВ рдХрдИ рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдХреБрд╢рд▓ рдирд╣реАрдВ рд╣реИред рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдмрд╕реЗрдЯ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЖрдк рдЗрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ, HDF5 рдкреНрд░рд╛рд░реВрдк рдПрдХ рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рд┐рдд рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рджреЛрдиреЛрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдПрдЪрдбреАрдПрдл 5 рдХрд╛ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдиреНрдпреВрдордкреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред
HDF5 рдкреНрд░рд╛рд░реВрдк рдХрд┐рд╕реА рднреА рдЖрдХрд╛рд░ рдХреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдпрд╣ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░реНрд╕ рдФрд░ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдПрдХ рд╕реЗрдЯ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛ рдХреЛ рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИред HDF5 рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЛ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдпрд╣ рдСрдлрд╝рд▓рд╛рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИред

рдкрд╛рдпрдерди рдореЗрдВ, HD55 рдкреНрд░рд╛рд░реВрдк рд╡рд╛рд▓рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ h5py рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдкреИрдХреЗрдЬ рдХреА рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╕рд░рдгреА рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдЙрдкрд▓рдмреНрдз рд░реИрдо рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдПрдХ рд╕рд░рдгреА рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред HDF5 рдкреНрд░рд╛рд░реВрдк рдЖрдкрдХреЛ рдпрд╣ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд╕рд░рдгреА рдХреЗ рдХреМрди рд╕реЗ рддрддреНрд╡ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИрдВ рдЬреЛ рдХрд┐ NumPy рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред рдлрд┐рд░ рдЖрдк рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд░реИрдо рдореЗрдВ рдирд╣реАрдВ, рдореМрдЬреВрджрд╛ рдХреЛрдб рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд┐рдирд╛ред
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рдЖрдк рдЕрдкрдиреА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП h5py рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рдФрд░ рд░реАрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рд╣рдорд╛рд░реЗ
рдЧрд┐рдереБрдм рднрдВрдбрд╛рд░ рдореЗрдВ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИрдВред
рд╕реНрдерд╛рдкрдирд╛HDF5 рдкреНрд░рд╛рд░реВрдк
HDF рд╕рдореВрд╣ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ, рдФрд░ рдпрд╣ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдорд╛рдирдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рд╣рдореЗрд╢рд╛ рдЙрдкрд▓рдмреНрдз рд░рд╣реЗрдЧрд╛, рднрд▓реЗ рд╣реА рд╕рдореВрд╣ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рдПред рдЕрдЬрдЧрд░ рд╕рдорд░реНрдерди
h5py рдкреИрдХреЗрдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП
рдЖрднрд╛рд╕реА рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
pip install h5py
рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИ рддреЛ рдпрд╣ рдХрдорд╛рдВрдб рднреА NumPy рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдЕрдкрдиреА HDF5 рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЯреВрд▓ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдк
HDF5 рд╡реНрдпреВрдЕрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдмреБрдирд┐рдпрд╛рджреА рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рдФрд░ рдкрдврд╝рдирд╛рдПрдЪрдбреАрдПрдл 5 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рд╣рдо рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдЙрд╕рдореЗрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдЯрд╛рдЗрдк рдХрд░реЗрдВрдЧреЗред
import h5py import numpy as np arr = np.random.randn(1000) with h5py.File('random.hdf5', 'w') as f: dset = f.create_dataset("default", data=arr)
рдкрд╣рд▓реА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИрдВ: рд╣рдо h5py рдФрд░ NumPy рдкреИрдХреЗрдЬ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рдо рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ w рдХреЗ рд╕рд╛рде random.hdf5 рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рд╕рдорд╛рди рдирд╛рдо рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рднреА рдЗрд╕реЗ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ w рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдордХ рдПрдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдбреЗрдЯрд╛рд╕реЗрдЯ рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рдХреЗ рдХрд╕реНрдЯреЛрдбрд┐рдпрди рд╣реИрдВ, рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдЪрдбреАрдПрдл 5 рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмреНрд▓реЙрдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдиреЛрдЯ
рдпрджрд┐ рдЖрдк рдХрдерди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧреАред рдпрджрд┐ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдЖрдк рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЕрдВрдд рдореЗрдВ
f.close()
рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рдирд╛ рдХрднреА рди рднреВрд▓реЗрдВред рдмрдпрд╛рди рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ рдХреЗрд╡рд▓ рдПрдЪрдбреАрдПрдл рдлрд╛рдЗрд▓реЗрдВред
рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рд▓рдЧрднрдЧ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рд╣рдо NumPy рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ:
with h5py.File('random.hdf5', 'r') as f: data = f['default'] print(min(data)) print(max(data)) print(data[:15])
рд╣рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реАрдб рдПрдЯреНрд░реАрдмреНрдпреВрдЯ рдЖрд░ рдХреЗ рд╕рд╛рде рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реАрдзреЗ рд╕реЗрдЯ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рддреЛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
for key in f.keys(): print(key)
рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЗрдЪреНрдЫрд┐рдд рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА NumPy рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рдереЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдзрд┐рдХрддрдо рдФрд░ рдиреНрдпреВрдирддрдо рдорд╛рди рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рд╕рд░рдгреА рдХреЗ рдкрд╣рд▓реЗ 15 рдорд╛рди рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпреЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдХрдИ рдЪреАрдЬреЗрдВ рдЫрд┐рдкрд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдЪрдбреАрдПрдл 5 рдХреА рдкреВрд░реА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдЯрд╛ [2] рджрд░реНрдЬ рдХрд░рдХреЗ рддреАрд╕рд░реЗ рддрддреНрд╡ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдбреЗрдЯрд╛ [1: 3] рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рдбреЗрдЯрд╛ рдПрдХ рд╕рд░рдгреА рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╣реИред рдЖрдк рдЗрд╕реЗ
print(type(data))
рдЯрд╛рдЗрдк рдХрд░рдХреЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕рд░рдгрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреА рдЬрд╛рдирдХрд╛рд░реА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрджрд┐ рд╣рдо рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╡реЗ рдЗрд╕реЗ рд░реИрдо рдореЗрдВ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдирд┐рдореНрди рдХреЛрдб, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛:
f = h5py.File('random.hdf5', 'r') data = f['default'] f.close() print(data[1])
рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐ рдереЛрдбрд╝реА рдмреЛрдЭрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрддрд┐рдо рдкрдВрдХреНрддрд┐ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ:
ValueError: Not a dataset (not a dataset)
рддреНрд░реБрдЯрд┐ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдбреЗрдЯрд╛рд╕реЗрдЯ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреА рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣реБрдБрдЪ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдереЛрдбрд╝рд╛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдм рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдореЗрдВ рджреВрд╕рд░реЗ рдореВрд▓реНрдп рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИред рдЬрдм рд╣рдордиреЗ рдЪ рдХреЛ ['рдбрд┐рдлрд╝реЙрд▓реНрдЯ'] рдЪрд░ рдбреЗрдЯрд╛ рдХреЛ рд╕реМрдВрдкрд╛ рд╣реИ, рддреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдбреЗрдЯрд╛ рдирд╣реАрдВ рдкрдврд╝рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдо рдПрдХ рд╕рдВрдХреЗрддрдХ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдбреЗрдЯрд╛ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдкрд░ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдпрд╣ рдХреЛрдб рдХрд╛рдо рдХрд░реЗрдЧрд╛:
f = h5py.File('random.hdf5', 'r') data = f['default'][:] f.close() print(data[10])
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХреЗрд╡рд▓ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж [:] рдЬреЛрдбрд╝рд╛ рд╣реИред рдХрдИ рдЕрдиреНрдп рдореИрдиреБрдЕрд▓ h5py рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде HDF5 рдкреНрд░рд╛рд░реВрдк рдХреА рдкреВрд░реА рдХреНрд╖рдорддрд╛ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдП рдмрд┐рдирд╛, рдРрд╕реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред рдЕрдм рддрдХ рд╣рдордиреЗ рдЬрд┐рди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ, рдЙрдирдХреЗ рдХрд╛рд░рдг рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ: рдЕрдЧрд░ NumPy рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рд╕реЗ HDF5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╡рд╣реА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдорд┐рд▓рддреА рд╣реИ? рдЪрд▓реЛ рдПрдЪрдбреАрдПрдл 5 рдкреНрд░рд╛рд░реВрдк рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рдЧреЛрддрд╛ рд▓рдЧрд╛рдПрдБред
рдПрдЪрдбреАрдПрдл 5 рдлрд╛рдЗрд▓реЛрдВ рд╕реЗ рдЪрдпрдирд╛рддреНрдордХ рдкрдврд╝рдирд╛рдЕрдм рддрдХ, рд╣рдордиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдбреЗрдЯрд╛ рд╕реЗрдЯ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрднреА рддрдХ рдбрд┐рд╕реНрдХ рд╕реЗ рдбреЗрдЯрд╛ рдирд╣реАрдВ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдо рд╣рд╛рд░реНрдб рдбрд┐рд╕реНрдХ рдкрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдкрд╣рд▓реЗ 10 рддрддреНрд╡реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ:
with h5py.File('random.hdf5', 'r') as f: data_set = f['default'] data = data_set[:10] print(data[1]) print(data_set[1])
рд╣рдордиреЗ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд┐рдВрдереЗрдЯрд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдкрд░реЛрдХреНрдд рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ, рд╣рдо рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрдврд╝рддреЗ рд╣реИрдВред рд╣рдо рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдкрд╣рд▓реЗ 10 рддрддреНрд╡реЛрдВ рдХреЛ рдбреЗрдЯрд╛ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж (рдЬрдм рдпрд╣ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ), рд╣рдо рдбреЗрдЯрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдорд╛рдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди data_set рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдЧрд╛ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдо рдХреЗрд╡рд▓ рдбрд┐рд╕реНрдХ рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ рдЬрдм рд╣рдо рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдкрд╣рд▓реЗ 10 рддрддреНрд╡реЛрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рдФрд░ рдбреЗрдЯрд╛_рд╕реЗрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд▓рдЧ рд╣реИрдВред рдкрд╣рд▓рд╛ рдПрдХ NumPy рд╕рд░рдгреА рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдПрдХ h5py рдбреЗрдЯрд╛рд╕реЗрдЯ рд╣реИред
рд╕рдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред рдЪрд▓реЛ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЗрд╕ рдмрд╛рд░ рджреЛ рдбреЗрдЯрд╛ рд╕реЗрдЯреЛрдВ рдХреЗ рд╕рд╛рде, рдФрд░ рджреВрд╕рд░реЗ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рддрддреНрд╡реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВред рдЪрд▓реЛ рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдХрд░ рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ; рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣реИ:
import h5py import numpy as np arr1 = np.random.randn(10000) arr2 = np.random.randn(10000) with h5py.File('complex_read.hdf5', 'w') as f: f.create_dataset('array_1', data=arr1) f.create_dataset('array_2', data=arr2)
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдбреЗрдЯрд╛рд╕реЗрдЯреНрд╕ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ array_1 рдФрд░ array_2 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ NumPy рд╕рд░рдгреА рд╣реЛрддреА рд╣реИред рд╣рдо array_2 рдорд╛рдиреЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЙрди рддрддреНрд╡реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВ рдЬрд╣рд╛рдБ array_1 рдорд╛рди рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВред рд╣рдо рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
with h5py.File('complex_read.hdf5', 'r') as f: d1 = f['array_1'] d2 = f['array_2'] data = d2[d1>0]
рд▓реЗрдХрд┐рди рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред d1 рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╣реИ рдФрд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдХрд┐рд╕реА рдкреВрд░реНрдгрд╛рдВрдХ рд╕реЗ рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреАред рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рд╕реНрдХ рд╕реЗ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рдорд┐рд▓рддрд╛ рд╣реИ:
with h5py.File('complex_read.hdf5', 'r') as f: d1 = f['array_1'] d2 = f['array_2'] data = d2[d1[:]>0]
рдкрд╣рд▓рд╛ рдбреЗрдЯрд╛ рд╕реЗрдЯ d1 рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╣рдо d1 [:] рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ d2 рд╕реЗ рд╣рдо рдХреЗрд╡рд▓ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреЛ рд▓реЗрддреЗ рд╣реИрдВред рдпрджрд┐ d1 рдбреЗрдЯрд╛рд╕реЗрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рдерд╛, рддреЛ рд╣рдо рд▓реВрдк рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
with h5py.File('complex_read.hdf5', 'r') as f: d1 = f['array_1'] d2 = f['array_2'] data = [] for i in range(len(d1)): if d1[i] > 0: data.append(d2[i]) print('The length of data with a for loop: {}'.format(len(data)))
рдмреЗрд╢рдХ, рдЖрдЗрдЯрдо рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд╕реВрдЪреА рдореЗрдВ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдиреЗ рдХреА рджрдХреНрд╖рддрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╛рда рдпрд╛ рдиреНрдпреВрдордкреА рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдПрдЪрдбреАрдПрдл 5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рдмрд╕реЗ рдмрдбрд╝реЗ рд▓рд╛рднреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИред рд▓реВрдк рдХреЗ рдЕрдВрджрд░, рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдмрд╕ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдкрд╛рда рд╕реЗ рдЫрд╡рд┐ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рддрдХред
рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдкрдХреЛ рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдкреВрд░реЗ рд╕рд░рдгреА рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред рдХрднреА-рдХрднреА рдЖрдк рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рд╕рд┐рдореБрд▓реЗрд╢рди рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рд╕рдорд╛рди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рдЖрдк рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реИрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рд╕реЗ рдкрдврд╝рдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдзреАрдорд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдЖрдк SDD рдбрд┐рд╕реНрдХ рдХреЗ рдмрдЬрд╛рдп HDD рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдЗрд╕рд╕реЗ рднреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдпрджрд┐ рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рдбреНрд░рд╛рдЗрд╡ рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВред
рдЪреБрдирд┐рдВрджрд╛ HDF5 рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдЦреЗрдВрдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ, рд╣рдордиреЗ рдЬреИрд╕реЗ рд╣реА рдпрд╣ рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдбреЗрдЯрд╛ рдХреЛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдкреАрдврд╝реА рдХреЗ рджреМрд░рд╛рди рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред HDF5 рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдк рдЗрд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВред рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдПрдХ рдЦрд╛рд▓реА рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреБрдЫ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рдЬреЛрдбрд╝реЗ рдЬрд╛рддреЗ рд╣реИрдВред
arr = np.random.randn(100) with h5py.File('random.hdf5', 'w') as f: dset = f.create_dataset("default", (1000,)) dset[10:20] = arr[50:60]
create_dataset
рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдкрд╣рд▓реА рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдкрд╣рд▓реЗ рдЬреИрд╕реА рд╣реИрдВред рд╣рдо рдЗрд╕реЗ рдмрдирд╛рддреЗ рд╕рдордп рдбреЗрдЯрд╛ рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рд╣рдо рд╕рд┐рд░реНрдл рдПрдХ рдЦрд╛рд▓реА рдбреЗрдЯрд╛ рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ 1000 рддрддреНрд╡реЛрдВ рддрдХ рдкрдХрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рддрд░реНрдХ рдХреЗ рд╕рд╛рде, рдЬрдм рд╣рдо рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕реЗ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬрдм рд╣рдо рдбрд┐рд╕реЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЗ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЛ рдорд╛рди рджреЗрддреЗ рд╣реИрдВред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ 10 рд╕реЗ 19 рддрдХ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЗ рд╕рд╛рде, рд╕рд░рдгреА рдХреЗ рд╕рдмрд╕реЗрдЯ рдкрд░ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред
рдЪреЗрддрд╛рд╡рдиреАрдЬрдм рдЖрдк рдбреЗрдЯрд╛ рд╕реЗрдЯ рдкрд░ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдбрд┐рд╕реНрдХ рдкрд░ рдХреНрдпрд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рд╕рдЯреАрдХ рдХреНрд╖рдг рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдерд┐рддрд┐ рд╕рд╣рд┐рдд рдХрдИ рдХрд╛рд░рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдмрд╣реБрдд рдЬрд▓реНрдж рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдореЗрд╢рд╛
close()
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдЪрд░рдгреЛрдВ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдордЬрдмреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк
flush()
рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рд╡рд╛рд░рдг рд╣реЛрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдкрд╣рд▓реЗ 20 рдорд╛рдиреЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦреЗрдВрдЧреЗ рдХрд┐ рд╡реЗ рд╕рднреА рд╢реВрдиреНрдп рд╣реИрдВ, рд╕рд┐рд╡рд╛рдп рд╕реВрдЪрдХрд╛рдВрдХ 10 рдХреЗ 19 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐ рд╣реИ рдЬреЛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╕рд┐рд░рджрд░реНрдж рд╣реЛ рд╕рдХрддреА рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдбрд┐рд╕реНрдХ рдкрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдЪрд╛рдПрдЧрд╛:
arr = np.random.randn(1000) with h5py.File('random.hdf5', 'w') as f: dset = f.create_dataset("default", (1000,)) dset = arr
рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣рдореЗрд╢рд╛ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдЖрдкрдиреЗ рддрдм рддрдХ рдХреБрдЫ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЬрдм рддрдХ рдЖрдк рдкрд░рд┐рдгрд╛рдо рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддреЗред рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдбреЗрдЯрд╛ рдХрд╣рд╛рдБ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЖрдк рд╕рд┐рд░реНрдл рдПрдХ NumPy рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрд╕реЗрдЯ рдЪрд░ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЪреВрдВрдХрд┐ рдбреЗрдЯрд╛рд╕реЗрдЯ рдФрд░ рд╕рд░рдгреА рд╕рдорд╛рди рд▓рдВрдмрд╛рдИ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ dset [:] = arr рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рддреНрд░реБрдЯрд┐ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЧрд▓рдд рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЯрд░реНрдорд┐рдирд▓ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХреЛрдИ рднреА рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдФрд░ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рд╢реВрдиреНрдп рд╣реЛрдЧрд╛ред
рдЕрдм рддрдХ, рд╣рдордиреЗ рд╣рдореЗрд╢рд╛ рдПрдХ рдЖрдпрд╛рдореА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдирдХреЗ рд▓рд┐рдП рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рдПрдХ 2D рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╣рдо рдмрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
dset = f.create_dataset('default', (500, 1024))
рдЬреЛ рд╣рдореЗрдВ 500x1024 рд╕рд░рдгреА рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рд▓реЗ рдХреЗ рд╕рдорд╛рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдЖрдпрд╛рдо рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП:
dset[1,2] = 1 dset[200:500, 500:1024] = 123
рд╕реНрдкреЗрд╕ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВрдЕрдм рддрдХ, рд╣рдордиреЗ рдХреЗрд╡рд▓ рд╣рд┐рдорд╢реИрд▓ рдХреЗ рдЯрд┐рдк рдХреА рдЬрд╛рдВрдЪ рдХреА рд╣реИ рдЬреЛ рдПрдЪрдбреАрдПрдл 5 рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ рд╣реИред рдЖрдк рдЬрд┐рд╕ рдбреЗрдЯрд╛ рдХреЛ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рд╕реНрдкреЗрд╕ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
H5py рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╕рднреА рд╕рдорд░реНрдерд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдпрд╣рд╛рдБ рд╣рдо рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рд╣рдо рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрдИ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
with h5py.File('several_datasets.hdf5', 'w') as f: dset_int_1 = f.create_dataset('integers', (10, ), dtype='i1') dset_int_8 = f.create_dataset('integers8', (10, ), dtype='i8') dset_complex = f.create_dataset('complex', (10, ), dtype='c16') dset_int_1[0] = 1200 dset_int_8[0] = 1200.1 dset_complex[0] = 3 + 4j
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рддреАрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдмрдирд╛рдП, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рд╣реИред 1 рдмрд╛рдЗрдЯ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ, 8 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ 16 рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛ред рд╣рдо рдХреЗрд╡рд▓ рдПрдХ рдирдВрдмрд░ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдореЗрдВ 10 рддрддреНрд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдореВрд▓реНрдпреЛрдВ рдХреЛ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдмрдЪрд╛ рдерд╛ред рдпрд╣рд╛рдВ рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ 1 рдмрд╛рдЗрдЯ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ 127 (1200 рдХреЗ рдмрдЬрд╛рдп) рдХреЗ рд▓рд┐рдП рдФрд░ 8 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЛ 1200 (1200.1 рдХреЗ рдмрдЬрд╛рдп) рдкрд░ рдЧреЛрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА C рдпрд╛ рдлреЛрд░рдЯреНрд░рд╛рди рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдкрдиреЗ рд╣рдореЗрд╢рд╛ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЖрдкрдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рддрдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирдВрдмрд░ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк 1 рдмрд╛рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ 8 рдмрд┐рдЯреНрд╕ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдк 2 ^ 8 рд╡рд┐рднрд┐рдиреНрди рдирдВрдмрд░реЛрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдкреВрд░реНрдгрд╛рдВрдХ рджреЛрдиреЛрдВ рд╕рдХрд╛рд░рд╛рддреНрдордХ, рдирдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВ, рдФрд░ 0. рдЬрдм рдЖрдк 1 рдмрд╛рдЗрдЯ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХреБрд▓ 2 ^ 8 рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП -128 рд╕реЗ 127 рддрдХ рдорд╛рди рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ 8 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдЦреНрдпрд╛ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рдеред
рдЪрдпрдирд┐рдд рдбреЗрдЯрд╛ рдХрд╛ рдЖрдХрд╛рд░ рдЙрд╕рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЪрд▓реЛ рддреАрди рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ 100,000 рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рдеред рд╣рдо рдЙрдирдореЗрдВ рд╕рдорд╛рди рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬреЗрдВрдЧреЗ, рдФрд░ рдлрд┐рд░ рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдореЗрдореЛрд░реА рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛ рдХреЛ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
arr = np.random.randn(100000) f = h5py.File('integer_1.hdf5', 'w') d = f.create_dataset('dataset', (100000,), dtype='i1') d[:] = arr f.close() f = h5py.File('integer_8.hdf5', 'w') d = f.create_dataset('dataset', (100000,), dtype='i8') d[:] = arr f.close() f = h5py.File('float.hdf5', 'w') d = f.create_dataset('dataset', (100000,), dtype='f16') d[:] = arr f.close()
рдЬрдм рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓реЗрдЧрд╛:
рдлрд╝рд╛рдЗрд▓ | рдЖрдХрд╛рд░ (рдмреА) |
---|
рдкреВрд░реНрдгрд╛рдВрдХ_1 | 102,144 |
integer_9 | 802,144 |
рдирд╛рд╡ | 1602144 |
рдЖрдХрд╛рд░ рдФрд░ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдз рд╕реНрдкрд╖реНрдЯ рд╣реИред рдЬрдм рдЖрдк рдкреВрд░реНрдгрд╛рдВрдХ рд╕реЗ 1 рдмрд╛рдЗрдЯ рд╕реЗ 8 рдмрд╛рдЗрдЯ рддрдХ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЖрдХрд╛рд░ 8 рдЧреБрдирд╛ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реА рддрд░рд╣, рдЬрдм рдЖрдк 16 рдмрд╛рдЗрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ 16 рдЧреБрдирд╛ рдЕрдзрд┐рдХ рд╕реНрдерд╛рди рд╣реЛрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЗрд╡рд▓ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░рдХ рдирд╣реАрдВ рд╣реИ; рдЖрдкрдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдордп рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рдЙрддрдирд╛ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧреЗрдЧрд╛ред рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдбреЗрдЯрд╛ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рдпрджрд┐ рдЖрдк рдЧрд▓рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЬрд╛рдирдХрд╛рд░реА рднреА рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 8 рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИрдВ, рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ 1 рдмрд╛рдЗрдЯ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рдорд╛рдиреЛрдВ рдХреЛ рдЫреЛрдЯрд╛ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдкреНрд░рдпреЛрдЧрд╢рд╛рд▓рд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдХрд░рдг рдЕрдХреНрд╕рд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрддреЗ рд╣реИрдВред рдХреБрдЫ DAQ рдХрд╛рд░реНрдб рдореЗрдВ 16 рдмрд┐рдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдХреБрдЫ рдХреИрдорд░реЗ 8 рдмрд┐рдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ 24 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдкрд╛рдпрдерди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдШреЛрд╖рдгрд╛ рдкреНрд░рдХрд╛рд░ред
рдпрд╣ рдпрд╛рдж рд░рдЦрдирд╛ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдиреНрдпреВрдордкреА рд╕рд░рдгреА 8 рдмрд╛рдЗрдЯреНрд╕ (64 рдмрд┐рдЯреНрд╕) рдкреНрд░рддрд┐ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдлреНрд▓реЛрдЯ рд╣реЛрдЧреАред рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реВрдиреНрдп рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рдгреА рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХреЗрд╡рд▓ 2 рдмрд╛рдЗрдЯреНрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд░рдгреА рдХрд╛ рдкреНрд░рдХрд╛рд░ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛, рдФрд░ рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ (рдбреЗрдЯрд╛ = my_array рдЬреЛрдбрд╝рдХрд░), рддреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рд╛рд░реВрдк "f8" рд╣реЛрдЧрд╛, рдЬреЛ рдХрд┐ рдПрдХ рд╕рд░рдгреА рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ,
рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдХреБрдЫ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рд╕рд░рд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдкрдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдореМрдЬреВрдж рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдкрд░ рдЙрдирдХрд╛ рдХреНрдпрд╛ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИред рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрдбрд╝реА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣рдг рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдЙрд╕ рдЧрддрд┐ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЖрдк рдмрдЪрдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЗ рд╣рд░ рдкрд╣рд▓реВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдЕрдиреНрдп рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рдирдбреЗрдЯрд╛ рд╕рд╣реЗрдЬрддреЗ рд╕рдордп, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдкреАрдбрд╝рди рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред H5py рдкреИрдХреЗрдЬ рдХрдИ рд╕рдВрдкреАрдбрд╝рди рдлрд┐рд▓реНрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ GZIP, LZF рдФрд░ SZIPред рд╕рдВрдкреАрдбрд╝рди рдлрд┐рд▓реНрдЯрд░ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ рдЕрдкрдиреЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдкрдврд╝рдиреЗ рдкрд░ рдЗрд╕реЗ рдЕрдирдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдХреЛрдб рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реИрдВред рд╣рдо рдПрдХ рд╣реА рдкреНрд░рдпреЛрдЧ рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рдВрдкреАрдбрд╝рди рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рд╣рдорд╛рд░рд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
import h5py import numpy as np arr = np.random.randn(100000) with h5py.File('integer_1_compr.hdf5', 'w') as f: d = f.create_dataset('dataset', (100000,), dtype='i1', compression="gzip", compression_opts=9) d[:] = arr with h5py.File('integer_8_compr.hdf5', 'w') as f: d = f.create_dataset('dataset', (100000,), dtype='i8', compression="gzip", compression_opts=9) d[:] = arr with h5py.File('float_compr.hdf5', 'w') as f: d = f.create_dataset('dataset', (100000,), dtype='f16', compression="gzip", compression_opts=9) d[:] = arr
рд╣рдордиреЗ рдЧрдЬрд╝рд┐рдк рдХреЛ рдЪреБрдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╣реИред рд╕рдВрдкреАрдбрд╝рди_ рд╡рд┐рдХрд▓реНрдк рд╡рд┐рдХрд▓реНрдк рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЙрдЪреНрдЪ рд╕реНрддрд░, рдбреЗрдЯрд╛ рдХрдо рдЬрдЧрд╣ рд▓реЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд┐рддрдиреА рджреЗрд░ рддрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ 4 рд╣реИред рд╣рдо рд╕рдВрдкреАрдбрд╝рди рд╕реНрддрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдВрддрд░ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
рдЯрд╛рдЗрдк | рдХреЛрдИ рд╕рдВрдкреАрдбрд╝рди рдирд╣реАрдВ | рд╕рдВрдкреАрдбрд╝рди 9 | рд╕рдВрдкреАрдбрд╝рди рек |
---|
рдкреВрд░реНрдгрд╛рдВрдХ_1 | 102,144 | 28016 | 30,463 |
integer_8 | 802,144 | 43,329 | 57,971 |
рдирд╛рд╡ | 1602144 | 1469580 | 1469868 |
рдкреВрд░реЗ рдбреЗрдЯрд╛ рд╕рд░рдгрд┐рдпреЛрдВ рдкрд░ рд╕рдВрдкреАрдбрд╝рди рдХрд╛ рдкреНрд░рднрд╛рд╡ рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╣рд▓реЗ рджреЛ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдВрдкреАрдбрд╝рди рдиреЗ рдЗрддрдирд╛ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХреНрдпреЛрдВ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░реА рдореЗрдВ рдирд╣реАрдВред рд╕рдВрдХреЗрдд рдХреЗ рд░реВрдк рдореЗрдВ: рдЖрдкрдХреЛ рдЬрд╛рдВрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреМрди рд╕рд╛ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рд╕рдВрдкреАрдбрд╝рд┐рдд рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рд╕реЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рд╕реА рднреА рдХреЛрдб рдореЗрдВ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред HDF5 рдХреЛрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдкрдпреБрдХреНрдд рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдбреЗрдЯрд╛ рд╕реЗрдЯ рд╕реЗ рдбреЗрдЯрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдмрдЪрдд рдХреЗ рд▓рд┐рдП рд╕рдВрдкреАрдбрд╝рди рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрд╕ рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдХрд░рдг рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рдЕрдиреНрдп рд╕рднреА рдкрд╣рд▓реБрдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛ рд╕рдВрдкреАрдбрд╝рди рдХреЗ рд▓рд╛рднреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдФрд░ рдкреНрд░рднрд╛рд╡реА рд╕рдВрдкреАрдбрд╝рди рдЕрдиреБрдкрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рддрдереНрдп рдХрд┐ рдпрд╣ рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдХреЛрдб рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢реА рд╣реИ, рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓реЗрдВрдЬрдм рдЖрдк рдХрд┐рд╕реА рдкреНрд░рдпреЛрдЧ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдХрднреА-рдХрднреА рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдХрд┐рддрдирд╛ рдмрдбрд╝рд╛ рд╣реЛрдЧрд╛ред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдПрдХ рдлрд┐рд▓реНрдо рд░рд┐рдХреЙрд░реНрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╢рд╛рдпрдж рдЖрдк рдЗрд╕реЗ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗ, рд╢рд╛рдпрдж рдПрдХ рдШрдВрдЯреЗ рдХреЗ рдмрд╛рджред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдПрдЪрдбреАрдПрдл 5 рдЖрдкрдХреЛ рдХрдо рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рд▓рд╛рдЧрдд рдХреЗ рд╕рд╛рде рдлреНрд▓рд╛рдИ рдкрд░ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреА рд▓рдВрдмрд╛рдИ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЕрдзрд┐рдХрддрдо рдХреАрд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдбреЗрдЯрд╛рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╕рдордп рдпрд╣ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
import h5py import numpy as np with h5py.File('resize_dataset.hdf5', 'w') as f: d = f.create_dataset('dataset', (100, ), maxshape=(500, )) d[:100] = np.random.randn(100) d.resize((200,)) d[100:200] = np.random.randn(100) with h5py.File('resize_dataset.hdf5', 'r') as f: dset = f['dataset'] print(dset[99]) print(dset[199])
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк 100 рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдбрд╛рдЯрд╛рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ 500 рдорд╛рдиреЛрдВ рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдорд╛рдиреЛрдВ рдХреЗ рдкрд╣рд▓реЗ рдмреИрдЪ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдЧрд▓реЗ 100 рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдЖрдк 500 рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╕реЗрдЯ рдкреНрд░рд╛рдкреНрдд рди рдХрд░ рд▓реЗрдВред , N- . , , .
, , . , - ( , , ):
with h5py.File('resize_dataset.hdf5', 'a') as f: dset = f['dataset'] dset.resize((300,)) dset[:200] = 0 dset[200:300] = np.random.randn(100) with h5py.File('resize_dataset.hdf5', 'r') as f: dset = f['dataset'] print(dset[99]) print(dset[199]) print(dset[299])
, , 200 200 299. , , .
, , , . 2D-, , тАФ , 2D-. 3- HDF-, . , :
with h5py.File('movie_dataset.hdf5', 'w') as f: d = f.create_dataset('dataset', (1024, 1024, 1), maxshape=(1024, 1024, None )) d[:,:,0] = first_frame d.resize((1024,1024,2)) d[:,:,1] = second_frame
1024x1024 , . , , . maxshape None.
(Chunks), . (chunk) , .. . , , . , :
dset = f.create_dataset("chunked", (1000, 1000), chunks=(100, 100))
, dset [0: 100,0: 100] . dset [200: 300, 200: 300], dset [100: 200, 400: 500] . . h5py, :
(Chunking) . 10 KiB 1 MiB, . , , .
(auto-chunking), . , maxshape. :
dset = f.create_dataset("autochunk", (1000, 1000), chunks=True)
(Groups). HDF5, , . (groups), , . , :
import numpy as np import h5py arr = np.random.randn(1000) with h5py.File('groups.hdf5', 'w') as f: g = f.create_group('Base_Group') gg = g.create_group('Sub_Group') d = g.create_dataset('default', data=arr) dd = gg.create_dataset('default', data=arr)
Base_Group , Sub_Group. default . , , :
with h5py.File('groups.hdf5', 'r') as f: d = f['Base_Group/default'] dd = f['Base_Group/Sub_Group/default'] print(d[1]) print(dd[1])
, : Base_Group/default Base_Group/Sub_Group/default. , , , , . тАФ keys():
with h5py.File('groups.hdf5', 'r') as f: for k in f.keys(): print(k)
, , for-. , . visit(), :
def get_all(name): print(name) with h5py.File('groups.hdf5', 'r') as f: f.visit(get_all)
,
get_all
, , name. visit,
get_all.
visit , , None, . , , Sub_Group,
get_all
:
def get_all(name): if 'Sub_Group' in name: return name with h5py.File('groups.hdf5', 'r') as f: g = f.visit(get_all) print(g)
visit , , None, , get_all. Sub_Group, get_all , Sub_Group . , g , , :
with h5py.File('groups.hdf5', 'r') as f: g_name = f.visit(get_all) group = f[g_name]
. тАФ , visititems, : name object. :
def get_objects(name, obj): if 'Sub_Group' in name: return obj with h5py.File('groups.hdf5', 'r') as f: group = f.visititems(get_objects) data = group['default'] print('First data element: {}'.format(data[0]))
visititems , , , . , , . . , , .
HDF5, HDF5, , . , , , , , , .. . , , 200x300x250. , , , , тАФ , .
HDF5 -. .
import time import numpy as np import h5py import os arr = np.random.randn(1000) with h5py.File('groups.hdf5', 'w') as f: g = f.create_group('Base_Group') d = g.create_dataset('default', data=arr) g.attrs['Date'] = time.time() g.attrs['User'] = 'Me' d.attrs['OS'] = os.name for k in g.attrs.keys(): print('{} => {}'.format(k, g.attrs[k])) for j in d.attrs.keys(): print('{} => {}'.format(j, d.attrs[j]))
, attrs . , , . , . , , , update:
with h5py.File('groups.hdf5', 'w') as f: g = f.create_group('Base_Group') d = g.create_dataset('default', data=arr) metadata = {'Date': time.time(), 'User': 'Me', 'OS': os.name,} f.attrs.update(metadata) for m in f.attrs.keys(): print('{} => {}'.format(m, f.attrs[m]))
, , hdf5, . , . hdf5, . Python -. JSON, , , , pickle.
import json with h5py.File('groups_dict.hdf5', 'w') as f: g = f.create_group('Base_Group') d = g.create_dataset('default', data=arr) metadata = {'Date': time.time(), 'User': 'Me', 'OS': os.name,} m = g.create_dataset('metadata', data=json.dumps(metadata))
, . , . , json.dumps, . , HDF5. , json.loads:
рдЕрдЬрдЧрд░
with h5py.File('groups_dict.hdf5', 'r') as f: metadata = json.loads(f['Base_Group/metadata'][()]) for k in metadata: print('{} => {}'.format(k, metadata[k]))
json , . YAML, XML .. , , , attr , , .
HDF5, . , , , . HDF , , , , , . , HDF .
HDF5 . , , . , . . SQL,
HDFql , SQL HDF5.
. , , - , , . , . , , .
HDF5 тАФ , . , , , , . HDF5 тАФ , , .
рдЕрдВрдд
,
.