рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

Python Pickle рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди

Python pickle рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВ: рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди, рдЗрд╕реЗ рдХрдм (рди) рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдкрд┐рдХрд┐рд▓реНрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХреИрд╕реЗ рдХрдВрдкреНрд░реЗрд╕ рдХрд░реЗрдВ, multiprocessing, рдФрд░ рдмрд╣реБрдд рдХреБрдЫ!
┬╖ 12 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЬрд╛рдирдирд╛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдпрд╛ рдореЙрдбрд▓реЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рджреЗрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрдкрдХреЛ рд╣рд░ рдмрд╛рд░ рджреЛрдмрд╛рд░рд╛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдпрд╛ рд╢реБрд░реВ рд╕реЗ рдЯреНрд░реЗрди рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рди рдкрдбрд╝реЗред

рдпрд╣рд╛рдБ рдореИрдВ рдкреНрд░рд╕рд┐рджреНрдз Python Pickle рдореЙрдбреНрдпреВрд▓ рдХреА рдЪрд░реНрдЪрд╛ рдХрд░реВрдБрдЧрд╛ред рдЕрдВрдд рддрдХ, рдЖрдк рд╕реВрдЪрд┐рдпрд╛рдБ (lists) рдФрд░ рдбрд┐рдХреНрд╢рдирд░реА рдЬреИрд╕реА рдЖрдо рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдФрд░ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рдЬрд╛рдиреЗрдВрдЧреЗред

рдореИрдВ рд╣рдорд╛рд░реЗ Designing Machine Learning Workflows in Python рдХреЛрд░реНрд╕ рдХреА рднреА рдЕрдЧрд▓реА рд╕реАрдврд╝реА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдБ, рдЬрд╣рд╛рдБ рдЖрдк рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рд▓рд┐рдП ML рдореЙрдбрд▓реЛрдВ рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдФрд░ рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╕реАрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛ рдкрд░рд┐рдЪрдп

рдХреНрдпрд╛ рдЖрдк рд╣рд░ рдмрд╛рд░ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рдбреЗрдЯрд╛ рдлреНрд░реЗрдо, рд╡реИрд░рд┐рдПрдмрд▓, рдпрд╛ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ Python рдХреЛрдб рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдердХ рдЧрдП рд╣реИрдВ?

рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╢рд╛рдпрдж рд╡рд╣реА рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдк рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рдХрд┐рд╕реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдЙрд╕реЗ рдЙрд╕рдХреЗ рд╡рд░реНрддрдорд╛рди рд░реВрдк рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рд▓реЛрдб рдпрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рдЯ рдХрд░ рд╕рдХреЗрдВред

рдпрд╣рд╛рдБ рдПрдХ рд╕рд░рд▓ рдЖрд░реЗрдЦ рд╣реИ рдЬреЛ рд╕рдордЭрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

Pickle Python Object Serialization

рдЫрд╡рд┐: рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛

Python рдореЗрдВ рд╣рдо рд╕реВрдЪрд┐рдпрд╛рдБ, рдЯреНрдпреВрдкрд▓, рдФрд░ рд╕реЗрдЯ рдЬреИрд╕реА рд╣рд╛рдИ-рд▓реЗрд╡рд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрдм рд╣рдо рдЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдРрд╕реЗ рдХреНрд░рдо рдореЗрдВ рдмрджрд▓рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕рдордЭ рд╕рдХреЗред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╣рддреЗ рд╣реИрдВред

рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рд╣рдо рд╡рд╣реА рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВ, рддреЛ рдЗрд╕ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдХреНрд░рдо рдХреЛ рд╡рд╛рдкрд╕ рд╣рд╛рдИ-рд▓реЗрд╡рд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕реЗ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╣рдо JSON, XML, HDF5 рдФрд░ Pickle рдЬреИрд╕реЗ рдлрд╝реЙрд░реНрдореЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд┐рдП Python Pickle рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦреЗрдВрдЧреЗред рд╣рдо рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдФрд░ рдпрд╣ рднреА рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдХрд┐рди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЖрдкрдХреЛ рдЕрдиреНрдп рдлрд╝реЙрд░реНрдореЗрдЯреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ Pickle рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдПред┬а

рдЕрдВрдд рдореЗрдВ, рд╣рдо рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ Pickle Python рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪрд┐рдпрд╛рдБ, рдбрд┐рдХреНрд╢рдирд░реА, Pandas рдбреЗрдЯрд╛ рдлреНрд░реЗрдо, рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓, рдФрд░ рдЕрдиреНрдп рдХреЛ рдХреИрд╕реЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрд╡рдпрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк┬ардореБрдлрд╝реНрдд рдореЗрдВ рдПрдХ DataLab рд╡рд░реНрдХрдмреБрдХ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ Python рдкрд╣рд▓реЗ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдХреЛрдб рд╕реИрдВрдкрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред Python рдХреЗ pickled рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдФрд░ рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣реИрдВрдбреНрд╕-рдСрди DataCamp рдЕрднреНрдпрд╛рд╕ рджреЗрдЦреЗрдВред

рд╣рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

Python Pickle рдкрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЗрддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИред

рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реЛрдВрдЧреЗ рдХрд┐ рд╣рдо рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕реАрдзреЗ рдХрд┐рд╕реА рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░рдХреЗ рдЬрд╝рд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рдлрд┐рд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдмрдЬрд╛рдп рдЙрдиреНрд╣реЗрдВ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗред

рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рд▓рд╛рдн рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦрддреЗ рд╣реИрдВред

рдпрд╣рд╛рдБ рдЫрд╛рддреНрд░реЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЬреИрд╕реЗ рдирд╛рдо, рдЖрдпреБ рдФрд░ рдХрдХреНрд╖рд╛ рд╡рд╛рд▓рд╛ рдПрдХ nested рдбрд┐рдХреНрд╢рдирд░реА рд╣реИ:

students = {

  'Student 1': {
        'Name': "Alice", 'Age' :10, 'Grade':4,
    },   
    'Student 2': {
        'Name':'Bob', 'Age':11, 'Grade':5
    },   
    'Student 3': {
        'Name':'Elena', 'Age':14, 'Grade':8
    }   
}

рдЖрдЗрдП тАЬstudentsтАЭ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:

type(students)
dict

рдЕрдм рдЬрдм рд╣рдордиреЗ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд▓реА рдХрд┐ student рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдХреНрд╢рдирд░реА рдЯрд╛рдЗрдк рд╣реИ, рддреЛ рдЗрд╕реЗ рдмрд┐рдирд╛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдП рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:

with open('student_info.txt','w') as data:
      data.write(str(students))

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рдо рд╕рд┐рд░реНрдл рд╕реНрдЯреНрд░рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реА рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ str() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдХреНрд╢рдирд░реА рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓рд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░реА рдбрд┐рдХреНрд╢рдирд░реА рдХреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдЦреЛ рдЬрд╛рддреА рд╣реИред

рдЕрдм, рдбрд┐рдХреНрд╢рдирд░реА рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ, рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЙрд╕рдХрд╛ рдЯрд╛рдЗрдк рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ:

with open("student_info.txt", 'r') as f:
    for students in f:
        print(students)

type(students)
str

nested рдбрд┐рдХреНрд╢рдирд░реА рдЕрдм рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рд╣реЛ рд░рд╣реА рд╣реИ, рдФрд░ рдЬрдм рд╣рдо рдЗрд╕рдХреА keys рдпрд╛ values рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ рддреЛ рдпрд╣ рдПрд░рд░ рджреЗрдЧреАред

рдпрд╣реАрдВ рдкрд░ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХрд╛рдо рдЖрддрд╛ рд╣реИред

рдбрд┐рдХреНрд╢рдирд░реА, рдбреЗрдЯрд╛ рдлреНрд░реЗрдо, рдФрд░ nested рд▓рд┐рд╕реНрдЯ рдЬреИрд╕реА рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЦреЛрдП рдмрд┐рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рджреЗрддрд╛ рд╣реИред

рдЖрдЧреЗ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЗрд╕реА рдбрд┐рдХреНрд╢рдирд░реА рдХреЛ Pickle рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рдорджрдж рд╕реЗ рдЙрд╕реЗ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред Python dictionary comprehension рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдЕрд▓рдЧ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред┬а

Python рдореЗрдВ Pickle рдХрд╛ рдкрд░рд┐рдЪрдп

Python рдХрд╛ Pickle рдореЙрдбреНрдпреВрд▓ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдкреНрд╕ рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдФрд░ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдлрд╝реЙрд░реНрдореЗрдЯ рд╣реИред рдпрд╣ Python-рдиреЗрдЯреАрд╡ рдлрд╝реЙрд░реНрдореЗрдЯ рд╣реИ, рдпрд╛рдиреА Pickle рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред

рдЕрдиреНрдп рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝реЙрд░реНрдореЗрдЯреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ Pickle рдХреЗ рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рдФрд░ рдХрдорд┐рдпрд╛рдБ рд╣реИрдВред

рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Pickle рдХреЗ рдлрд╛рдпрджреЗ

  • JSON рдЬреИрд╕реЗ рдлрд╝реЙрд░реНрдореЗрдЯ рдЯреНрдпреВрдкрд▓ рдФрд░ datetime рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╣реИрдВрдбрд▓ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдЬрдмрдХрд┐ Pickle рд▓рдЧрднрдЧ рд╣рд░ рдЖрдо рдмрд┐рд▓реНрдЯ-рдЗрди Python рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдЯреАрдХ рд╕реНрдерд┐рддрд┐ рднреА рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ, рдЬреЛ JSON рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
  • Pickle recursive рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рд┐рд░реНрдл рдПрдХ рдмрд╛рд░ рд╣реА рд▓рд┐рдЦрддрд╛ рд╣реИред
  • Pickle рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╕рдордп рд▓рдЪреАрд▓рд╛рдкрди рджреЗрддрд╛ рд╣реИред рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реИрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдПрдХ Pickle рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп Python рд╕рддреНрд░ рдореЗрдВ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдХреЛрдб рдПрдбрд┐рдЯ рдХрд┐рдП рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рд╡рд╛рдкрд╕ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

Pickle рдХреА рдХрдорд┐рдпрд╛рдБ

  • Pickle рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг Python callables рдХреЛ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╕рдордп Pickle рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдФрд░ рдЧреИрд░-рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг callable рдореЗрдВ рдЕрдВрддрд░ рдирд╣реАрдВ рдХрд░ рдкрд╛рддрд╛ред рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рдордирдорд╛рдирд╛ рдХреЛрдб рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред
  • рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛, Pickle Python-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдкрд┐рдХрд┐рд▓реНрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
  • рдХрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░, Pickle JSON рдФрд░ ApacheThrift рдЬреИрд╕реЗ рдлрд╝реЙрд░реНрдореЗрдЯреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рджрд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдмрдбрд╝реЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реНрдб рд╡реИрд▓реНрдпреВрдЬрд╝ рдмрдирд╛рддрд╛ рд╣реИред

Pickle рдХреА dump рдФрд░ load рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕реЗрд╡ рдФрд░ рд▓реЛрдб рдХрд░рдирд╛

Python рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдФрд░ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Pickle рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

pickle.dump(obj, file, protocol=None, *, fix_imports=True, buffer_callback=None)

pickle.dumps(obj, protocol=None, *, fix_imports=True, buffer_callback=None)

pickle.load(file, *, fix_imports=True, encoding='ASCII', errors='strict', buffers=None)

pickle.loads(data, /, *, fix_imports=True, encoding=тАЭASCIIтАЭ, errors=тАЭstrictтАЭ, buffers=None)

Pickle рдХреЗ dump() рдФрд░ dumps() рдлрд╝рдВрдХреНрд╢рди рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВред рдЗрди рджреЛрдиреЛрдВ рдореЗрдВ рдлрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ dump() рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ dumps() рдЙрд╕реЗ рдПрдХ bytes рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред┬а

рдЗрд╕реА рддрд░рд╣, load() рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд┐рдХрд┐рд▓реНрдб рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкрдврд╝рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ loads() рдЙрдиреНрд╣реЗрдВ bytes-рдЬреИрд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ, рд╣рдо dump() рдФрд░ load() рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Python рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ pickle рдФрд░ рдлрд┐рд░ unpickle рдХрд░реЗрдВрдЧреЗред

Pickle рдХреЗ рд╕рд╛рде Python рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди

рд╕реВрдЪрд┐рдпрд╛рдБ

рдкрд╣рд▓реЗ рдПрдХ рд╕рд░рд▓ Python рд╕реВрдЪреА рдмрдирд╛рддреЗ рд╣реИрдВ:

import pickle 

student_names = ['Alice','Bob','Elena','Jane','Kyle']

рдЕрдм, рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓рддреЗ рд╣реИрдВ, dumps() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪреА рдЙрд╕рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдмрдВрдж рдХрд░рддреЗ рд╣реИрдВ:

with open('student_file.pkl', 'wb') as f:  # open a text file
    pickle.dump(student_names, f) # serialize the list

рд╣рдордиреЗ рдкрд╣рд▓реЗ тАЬstudent_file.pklтАЭ рдирд╛рдо рдХреА рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИред рдПрдХреНрд╕рдЯреЗрдВрд╢рди .pkl рд╣реЛрдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рдирд╣реАрдВ рд╣реИред рдЖрдк рдЗрд╕реЗ рдХреБрдЫ рднреА рдирд╛рдо рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдлрд┐рд░ рднреА рдмрди рдЬрд╛рдПрдЧреАред рд╣рд╛рд▓рд╛рдБрдХрд┐, .pkl рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫреА рдкреНрд░реИрдХреНрдЯрд┐рд╕ рд╣реИ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд░рд╣реЗ рдХрд┐ рдпрд╣ Pickle рдлрд╝рд╛рдЗрд▓ рд╣реИред

рд╕рд╛рде рд╣реА, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдордиреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ wb рдореЛрдб рдореЗрдВ рдЦреЛрд▓рд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрд╛рдЗрдирд░реА рдореЛрдб рдореЗрдВ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ рддрд╛рдХрд┐ рдбреЗрдЯрд╛ bytes рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд▓реМрдЯреЗред

рдлрд┐рд░, рд╣рдо dump() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ student_names┬ард╕реВрдЪреА рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред

рдЕрдВрдд рдореЗрдВ, рдЖрдк рдирд┐рдореНрди рдХреЛрдб рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

f.close()

рдЕрдм, рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реВрдЪреА рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ:

with open('student_file.pkl', 'rb') as f:

    student_names_loaded = pickle.load(f) # deserialize using load()
    print(student_names_loaded) # print student names

рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

['Alice', 'Bob', 'Elena', 'Jane', 'Kyle']

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ rb рдореЛрдб рдпрд╛рдиреА read binary рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдлрд┐рд░, рд╣рдо load() рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ unpickle рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдбреЗрдЯрд╛ рдХреЛ рдХрд┐рд╕реА рдЕрд▓рдЧ рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдЗрдП рдЕрднреА-рдЕрднреА unpickle рдХреА рдЧрдИ рд╕реВрдЪреА рдХреЗ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:

type(student_names_loaded)
list

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рд╣рдордиреЗ рдЗрд╕ рд╕реВрдЪреА рдХреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдФрд░ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрд╛ рд╣реИред

Numpy arrays

рдЕрдм, рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк тАФ Numpy arrays тАФ рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдФрд░ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред

рдкрд╣рд▓реЗ, рдПрдХ 10 рдмрд╛рдИ 10 рдХрд╛ ones рдХрд╛ array рдмрдирд╛рддреЗ рд╣реИрдВ:

import numpy as np

numpy_array = np.ones((10,10)) # 10x10 array

рдлрд┐рд░, рдкрд╣рд▓реЗ рдХреА рддрд░рд╣, рдЗрд╕ array рдХреЛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП dump() рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ:

with open('my_array.pkl','wb') as f:
    pickle.dump(numpy_array, f)

рдЕрдВрдд рдореЗрдВ, рдЗрд╕ array рдХреЛ unpickle рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА shape рдФрд░ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рдХрд┐ рдЗрд╕рдХреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдмрдиреА рд╣реБрдИ рд╣реИ:

with open('my_array.pkl','rb') as f:
    unpickled_array = pickle.load(f)
    print('Array shape: '+str(unpickled_array.shape))
    print('Data type: '+str(type(unpickled_array)))

рдЖрдкрдХреЛ рдирд┐рдореНрди рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:

Array shape: (10, 10)

Data type: <class 'numpy.ndarray'>

unpickle рдХрд┐рдпрд╛ рдЧрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ 10x10 рдХрд╛ Numpy array рд╣реИ, рдЬрд┐рд╕рдХрд╛ shape рдФрд░ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдЙрд╕реА рддрд░рд╣ рд╣реИ рдЬреИрд╕рд╛ рд╣рдордиреЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдерд╛ред

pandas DataFrames

рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рд╡рд╣ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рд░реЛрдЬрд╝ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред Pandas DataFrame рдХреЛ рд▓реЛрдб рдФрд░ рд╕реЗрд╡ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░реАрдХрд╛ рдЗрд╕реЗ CSV рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝рдирд╛ рдФрд░ рд▓рд┐рдЦрдирд╛ рд╣реИред рд╣рдорд╛рд░реЗ pandas read_csv() рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЗрдореНрдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдиреЗрдВред┬а

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕реЗ рдзреАрдореА рд╣реЛрддреА рд╣реИ рдФрд░ рдпрджрд┐ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдмрдбрд╝рд╛ рд╣реЛ, рддреЛ рдпрд╣ рдЕрддреНрдпрдзрд┐рдХ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓реА рд╣реЛ рд╕рдХрддреА рд╣реИред

рдЖрдЗрдП Pickle рдмрдирд╛рдо CSV рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ pandas рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреЛ рд╕реЗрд╡ рдФрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рджрдХреНрд╖рддрд╛ рдХреА рддреБрд▓рдирд╛ рдЙрдирдХреЗ рд╕рдордп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд░реЗрдВред

рдкрд╣рд▓реЗ, 100,000 рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ pandas рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреБрдЫ рдирдХрд▓реА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдмрдирд╛рддреЗ рд╣реИрдВ:

import pandas as pd
import numpy as np

# Set random seed
np.random.seed(123)

data = {'Column1': np.random.randint(0, 10, size=100000),
        'Column2': np.random.choice(['A', 'B', 'C'], size=100000),
        'Column3': np.random.rand(100000)}


# Create Pandas dataframe
df = pd.DataFrame(data)

рдЕрдм, рдЗрд╕ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреЛ csv рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧреЗ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ:

import time

start = time.time()

df.to_csv('pandas_dataframe.csv')

end = time.time()
print(end - start)
0.19349145889282227

рддреАрди рдХреЙрд▓рдо рдФрд░ 100,000 рдкрдВрдХреНрддрд┐рдпреЛрдВ рд╡рд╛рд▓реЗ Pandas рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреЛ csv рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░рдиреЗ рдореЗрдВ 0.19 рд╕реЗрдХрдВрдб рд▓рдЧреЗред

рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ Pickle рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред pandas рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ to_pickle() рдирд╛рдордХ рдПрдХ рдореЗрдердб рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рдХреЛрдб рдореЗрдВ рдбреЗрдЯрд╛ рдлреНрд░реЗрдо рдХреЛ pickle рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ:

start = time.time()

df.to_pickle("my_pandas_dataframe.pkl")

end = time.time()
print(end - start)
0.0059659481048583984

рдЙрд╕реА Pandas DataFrame рдХреЛ Pickle рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ 5 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд▓рдЧреЗ, рдЬреЛ csv рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░ рд╣реИред

рдЕрдм, рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╡рд╛рдкрд╕ Pandas рдореЗрдВ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ Pickle рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдирд╛ рдорд╛рддреНрд░ csv рдкрдврд╝рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЛрдИ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рд▓рд╛рдн рджреЗрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ:

# Reading the csv file into Pandas:
start1 = time.time()
df_csv = pd.read_csv("my_pandas_dataframe.csv")
end1 = time.time()
print("Time taken to read the csv file: " + str(end1 - start1) + "\n")

# Reading the Pickle file into Pandas:
start2 = time.time()
df_pkl = pd.read_pickle("my_pandas_dataframe.pkl")
end2 = time.time()
print("Time taken to read the Pickle file: " + str(end2 - start2))

рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреЛрдб рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

Time taken to read the csv file: 0.00677490234375

Time taken to read the Pickle file: 0.0009608268737792969

CSV рдлрд╝рд╛рдЗрд▓ рдХреЛ Pandas рдореЗрдВ рдкрдврд╝рдиреЗ рдореЗрдВ 6 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд▓рдЧреЗ, рдФрд░ Pickle рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ 0.9 рдорд┐рд▓реАрд╕реЗрдХрдВрдбред┬а

рднрд▓реЗ рд╣реА рдпрд╣ рдЕрдВрддрд░ рдЫреЛрдЯрд╛ рд▓рдЧреЗ, рд▓реЗрдХрд┐рди рдмрдбрд╝реЗ Pandas рдбреЗрдЯрд╛ рдлреНрд░реЗрдореНрд╕ рдХреЛ Pickle рд╕реЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдлреА рд╕рдордп рдХреА рдмрдЪрдд рд╣реЛ рд╕рдХрддреА рд╣реИред Pickle рд╣рд░ рдХреЙрд▓рдо рдХреЗ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк рдХреЛ рднреА рд╕рдВрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдФрд░ CSV рдлрд╝рд╛рдЗрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рд▓реЗрдЧрд╛ред

рдбрд┐рдХреНрд╢рдирд░реА

рдЕрдВрдд рдореЗрдВ, рдЙрд╕ рдбрд┐рдХреНрд╢рдирд░реА рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛:

students = {
  'Student 1': {
        'Name': "Alice", 'Age' :10, 'Grade':4,
    },
   
    'Student 2': {
        'Name':'Bob', 'Age':11, 'Grade':5
    },
   
    'Student 3': {
        'Name':'Elena', 'Age':14, 'Grade':8
    }
}

рдпрд╛рдж рдХрд░реЗрдВ рдХрд┐ рдЬрдм рд╣рдордиреЗ рдЗрд╕ рдбрд┐рдХреНрд╢рдирд░реА рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡ рдХрд┐рдпрд╛ рдерд╛, рд╣рдореЗрдВ рдЗрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдмрджрд▓рдирд╛ рдкрдбрд╝рд╛ рдерд╛ рдФрд░ рдЗрд╕рдХреА рдореВрд▓ рд╕реНрдерд┐рддрд┐ рдЦреЛ рдЧрдИ рдереАред

рдЕрдм рдЗрд╕реЗ Pickle рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдкрдврд╝рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рдХрд┐ рдЗрд╕рдореЗрдВ рдЕрднреА рднреА Python рдбрд┐рдХреНрд╢рдирд░реА рдХреЗ рд╕рднреА рдЧреБрдг рдореМрдЬреВрдж рд╣реИрдВ:

# serialize the dictionary to a pickle file
with open("student_dict.pkl", "wb") as f:
    pickle.dump(students, f)
   
# deserialize the dictionary and print it out
with open("student_dict.pkl", "rb") as f:
    deserialized_dict = pickle.load(f)
    print(deserialized_dict)

рдЖрдкрдХреЛ рдирд┐рдореНрди рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:

{'Student 1': {'Name': 'Alice', 'Age': 10, 'Grade': 4}, 'Student 2': {'Name': 'Bob', 'Age': 11, 'Grade': 5}, 'Student 3': {'Name': 'Elena', 'Age': 14, 'Grade': 8}}

рдЕрдм рдЗрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рдЯрд╛рдЗрдк рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:

type(deserialized_dict)
dict

рдЗрд╕ рдбрд┐рдХреНрд╢рдирд░реА рдореЗрдВ рдкрд╣рд▓реЗ рдЫрд╛рддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ:

print(
    "The first student's name is "
    + deserialized_dict["Student 1"]["Name"]
    + " and she is "
    + (str(deserialized_dict["Student 1"]["Age"]))
    + " years old."
)
The first student's name is Alice and she is 10 years old.

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛! рдбрд┐рдХреНрд╢рдирд░реА рдиреЗ рдЕрдкрдиреЗ рд╕рднреА рдореВрд▓ рдЧреБрдгреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕реЗ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рдПрдХреНрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ Python dictionary comprehension рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рджреЗрдЦреЗрдВред┬а

Pickle рдХреЗ рд╕рд╛рде рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓реНрд╕ рдХрд╛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди

рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓ рдХреЛ рдЯреНрд░реЗрди рдХрд░рдирд╛ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ рдШрдВрдЯреЛрдВ рдФрд░ рдХрднреА-рдХрднреА рдХрдИ рджрд┐рдиреЛрдВ рддрдХ рдЪрд▓ рд╕рдХрддреА рд╣реИред рдЬрдм рднреА рдЖрдкрдХреЛ рдХрд┐рд╕реА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛ рдпрд╛ рдХрд┐рд╕реА рджреВрд╕рд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдирд╛ рд╣реЛ, рддреЛ рдЙрд╕реЗ рд╣рд░ рдмрд╛рд░ рд╢реБрд░реВ рд╕реЗ рдЯреНрд░реЗрди рдХрд░рдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдирд╣реАрдВ рд╣реИред

рдпрджрд┐ рдЖрдк рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдмрдирд╛рддреЗ рд╕рдордп рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк Python рдореЗрдВ рд╣рдорд╛рд░рд╛ Designing Machine Learning Workflows рдХреЛрд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Pickle рдЖрдкрдХреЛ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓реЛрдВ рдХреЛ рдЙрдирдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕ рдЦрдВрдб рдореЗрдВ, рд╣рдо Pickle рдХреЗ рд╕рд╛рде рдПрдХ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓ рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВрдЧреЗред

рдЗрд╕рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдХреБрдЫ рдирдХрд▓реА рдбреЗрдЯрд╛ рдЬреЗрдирд░реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ Scikit-Learn рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдПрдХ рд▓реАрдирд┐рдпрд░ рд░рд┐рдЧреНрд░реЗрд╢рди рдореЙрдбрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ:

from sklearn.linear_model import LinearRegression
from sklearn.datasets import make_regression

# generate regression dataset
X, y = make_regression(n_samples=100, n_features=3, noise=0.1, random_state=1)

# train regression model
linear_model = LinearRegression()
linear_model.fit(X, y)

рдЕрдм, рдХреБрдЫ рд╕рд╛рд░рд╛рдВрд╢ рдореЙрдбрд▓ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВ:

# summary of the model
print('Model intercept :', linear_model.intercept_)
print('Model coefficients : ', linear_model.coef_)
print('Model score : ', linear_model.score(X, y))
Model intercept : -0.010109549594702116

Model coefficients :  [44.18793068 98.97389468 58.17121618]

Model score :  0.9999993081899219

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕ рдореЙрдбрд▓ рдХреЛ Pickle рдХреЗ dump() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

with open("linear_regression.pkl", "wb") as f:
    pickle.dump(linear_model, f)

рдореЙрдбрд▓ рдЕрдм Pickle рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡ рд╣реЛ рдЧрдпрд╛ рд╣реИред load() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдбреА-рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ:

with open("linear_regression.pkl", "rb") as f:
    unpickled_linear_model = pickle.load(f)

рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореЙрдбрд▓ рдЕрдм unpickled_linear_model┬ард╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рд▓реЛрдб рд╣реЛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЙрд╕реА рдореЙрдбрд▓ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рд╢реБрд░реВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдерд╛:

# summary of the model
print('Model intercept :', unpickled_linear_model.intercept_)
print('Model coefficients : ', unpickled_linear_model.coef_)
print('Model score : ', unpickled_linear_model.score(X, y))

рдЖрдкрдХреЛ рдирд┐рдореНрди рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:

Model intercept : -0.010109549594702116

Model coefficients :  [44.18793068 98.97389468 58.17121618]

Model score :  0.9999993081899219

рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рдЕрднреА-рдЕрднреА unpickle рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рд╡рд╣реА рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдореЙрдбрд▓ рдХреЗ рдереЗред┬а

рдЕрдм рд╣рдо рдЗрд╕ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рд╕реА рдЯреЗрд╕реНрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ, рдЗрд╕рдХреЗ рдКрдкрд░ рдЖрдЧреЗ рдЯреНрд░реЗрди рдХрд░рдиреЗ, рдпрд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдмрдбрд╝реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП Python Pickle рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдмрдврд╝рд╛рдирд╛

Pickle рдПрдХ рдХреБрд╢рд▓ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝реЙрд░реНрдореЗрдЯ рд╣реИ, рдЬреЛ рдХрдИ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдореЗрдВ JSON, XML рдФрд░ HDF5 рд╕реЗ рддреЗрдЬрд╝ рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рд╣реИред┬а

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЕрддреНрдпрдзрд┐рдХ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдпрд╛ рд╡рд┐рд╢рд╛рд▓ рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рдореЙрдбрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, Pickle рдХрд╛рдлреА рдзреАрдорд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдореЗрдВ рдмрд╛рдзрд╛ рдмрди рд╕рдХрддрд╛ рд╣реИред

Pickle рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реЗрд╡ рдФрд░ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╕рдордп рдХрдо рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рддрд░реАрдХреЗ рдпрд╣рд╛рдБ рджрд┐рдП рдЧрдП рд╣реИрдВ:

PROTOCOL рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, Pickle рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реЗрд╡ рдФрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ 4 рд╣реИ, рдЬреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ Python рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдЧрдд рд╣реИред┬а

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдХреЛ рддреЗрдЬрд╝ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк HIGHEST_PROTOCOL рдЖрд░реНрдЧреБрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ Pickle рдХрд╛ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рдЙрдкрд▓рдмреНрдз рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╣реИред

Pickle рдХреЗ рд╕рдмрд╕реЗ рд╕рдВрдЧрдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рдмреАрдЪ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдЕрдВрддрд░ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ Pandas DataFrame рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрджрд┐ рдХреЛрдИ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛, рддреЛ Pickle рдпрд╣реА рд╡рд░реНрдЬрд╝рди рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

import pickle
import time
import numpy as np

# Set random seed
np.random.seed(100)

data = {'Column1': np.random.randint(0, 10, size=100000),
        'Column2': np.random.choice(['A', 'B', 'C'], size=100000),
        'Column3': np.random.rand(100000)}

# serialize to a file

start = time.time()

with open("df1.pkl", "wb") as f:
    pickle.dump(data, f)

end = time.time()
print(end - start)
0.006001710891723633

Pickle рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ DataFrame рдХреЛ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдореЗрдВ рд▓рдЧрднрдЧ 6 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд▓рдЧреЗред

рдЕрдм, рдЙрд╕реА DataFrame рдХреЛ highest рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд╕реЗ pickle рдХрд░рддреЗ рд╣реИрдВ:

start = time.time()

with open("df2.pkl", "wb") as f:
    pickle.dump(data, f, protocol=pickle.HIGHEST_PROTOCOL)

end = time.time()
print(end - start)
0.0030384063720703125

highest рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ DataFrame рдХреЛ рдЖрдзреЗ рд╕рдордп рдореЗрдВ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░ рд▓рд┐рдпрд╛ред

Pickle рдХреА рдЬрдЧрд╣ cPickle рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

cPickle рдореЙрдбреНрдпреВрд▓ Pickle рдХрд╛ рддреЗрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ C рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ Python рдореЗрдВ рдЗрдореНрдкреНрд▓реАрдореЗрдВрдЯреЗрдб Pickle рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рддреЗрдЬрд╝ рд╣реИред┬а

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ Python3 рдореЗрдВ cPickle рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ _pickle рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЗрдореНрдкреЛрд░реНрдЯ рдХрд░реЗрдВрдЧреЗред

import _pickle as cPickle

start = time.time()

with open("df3.pkl", "wb") as f:
    cPickle.dump(data, f)

end = time.time()

print(end-start)
0.004027366638183594

cPickle рдХреЗ рд╕рд╛рде рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдореЗрдВ рд▓рдЧрднрдЧ 4 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд▓рдЧреЗ, рдЬреЛ Pickle Python рдореЙрдбреНрдпреВрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реБрдзрд╛рд░ рд╣реИред

рд╕рд┐рд░реНрдл рд╡рд╣реА рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ рдЬрд┐рд╕рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ

рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рддреЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдЙрдкрд╛рдпреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдмрдбрд╝реЗ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдм рднреА рдмрд╣реБрдд рдзреАрдореА рд╣реЛ рд╕рдХрддреА рд╣реИред

рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдмреЗрд╣рддрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рддреЛрдбрд╝рдХрд░ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ рд╕рдмрд╕реЗрдЯреНрд╕ рдХреЛ рд╣реА рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рдХреНрд╢рдирд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЖрдк рд╡реЗ рд╣реА key-value рдкреЗрдпрд░реНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ рд╣реИред рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдбрд┐рдХреНрд╢рдирд░реА рдХрд╛ рдЖрдХрд╛рд░ рдШрдЯрд╛рдПрдБ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХрдо рд╣реЛрдЧреА рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддреЗрдЬрд╝ рд╣реЛрдЧреАред

Python рдореЗрдВ Pickle рдХреЗ рд╕рд╛рде рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди: рдЖрдЧреЗ рдХреЗ рдХрджрдо

рдмрдзрд╛рдИ рд╣реЛ! рдЖрдкрдиреЗ Python рдореЗрдВ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ Pickle рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреЗрдХ рд╡рд┐рд╖рдп рд╕реАрдЦ рд▓рд┐рдП рд╣реИрдВред

рдЕрдм рдЖрдкрдХреЛ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕рдордЭ рдЖ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреНрдпрд╛ рд╣реИ, Python рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ Pickle рд╕реЗ рдХреИрд╕реЗ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрд░реНрдЧреБрдореЗрдВрдЯреНрд╕ рд╡ рдореЙрдбреНрдпреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Pickle рдХреЗ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдХреЛ рдХреИрд╕реЗ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд╣реИред

рдЕрдкрдиреА рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╕рдордЭ рдХреЛ рдмреЗрд╣рддрд░ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХреЛ рд╕рд╢рдХреНрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдпреЗ рдХрджрдо рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рдирдП рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝реЙрд░реНрдореЗрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рд╣рдордиреЗ рдХреЗрд╡рд▓ Pickle рдореЙрдбреНрдпреВрд▓ рдХрд╡рд░ рдХрд┐рдпрд╛, рдпрд╣ рд╣рд░ рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рд░реНрд╡реЛрддреНрддрдо рдлрд╝реЙрд░реНрдореЗрдЯ рдирд╣реАрдВ рд╣реИред JSON, XML, рдФрд░ HDF5 рдЬреИрд╕реЗ рдЕрдиреНрдп рдлрд╝реЙрд░реНрдореЗрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ, рддрд╛рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рдЪреБрди рд╕рдХреЗрдВред
  2. рдЦреБрдж рдЖрдЬрд╝рдорд╛рдПрдБред рдЗрд╕ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдХреЛрдИ рдирдИ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдПрдБ рдпрд╛ рдХрд┐рд╕реА рдЧрдгрдирд╛ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд┐рд╕реА рд╡реИрд░рд┐рдПрдмрд▓ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ, рддреЛ рдкреВрд░рд╛ рдХреЛрдб рдмрд╛рд░-рдмрд╛рд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрд╕реЗ рдмрд╛рдж рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВред
  3. рдСрдирд▓рд╛рдЗрди рдХреЛрд░реНрд╕ рдХрд░реЗрдВред рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдФрд░ рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЬреИрд╕реЗ рдХрд╛рд░реНрдп рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Python рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреА рдордЬрдмреВрдд рд╕рдордЭ рдЬрд╝рд░реВрд░реА рд╣реИред рдЗрд╕реЗ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рд╣рдорд╛рд░рд╛ Data Types for Data Science in Python рдХреЛрд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Natassha Selvaraj

рд▓реЗрдЦрдХ

Natassha Selvaraj

рдирддрд╛рд╢рд╛┬ардПрдХ рдбреЗрдЯрд╛ рдХрдВрд╕рд▓реНрдЯреЗрдВрдЯ рд╣реИрдВ рдЬреЛ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдФрд░ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рдВрдЧрдо рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред рдЙрдирдХрд╛ рдорд╛рдирдирд╛ рд╣реИ рдХрд┐ рд╕рдордЭрджрд╛рд░реА рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдбреЗрдЯрд╛ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕рдВрдЧрдардиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╕рд╛рдзрд╛рд░рдг рд╡рд┐рдХрд╛рд╕ рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╕реНрд╡-рдЕрдзреНрдпрдпрдирд┐рдд рдбреЗрдЯрд╛ рдкреНрд░реЛрдлреЗрд╢рдирд▓ рдХреЗ рд░реВрдк рдореЗрдВ,┬ардирддрд╛рд╢рд╛┬ардРрд╕реЗ рд▓реЗрдЦ рд▓рд┐рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддреА рд╣реИрдВ рдЬреЛ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрд╕ рдЕрднреНрдпрд░реНрдерд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рдЙрджреНрдпреЛрдЧ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВред рдЙрдирдХреЗ рдирд┐рдЬреА рдмреНрд▓реЙрдЧ рдФрд░ рдмрд╛рд╣рд░реА рдкреНрд░рдХрд╛рд╢рдиреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓реЗрдЦ рдФрд╕рддрди 200 рд╣рдЬрд╛рд░ рдорд╛рд╕рд┐рдХ рджреГрд╢реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рд╡рд┐рд╖рдп