рдкрдВрдбреЛрдВ рдмрд┐рдЧ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЧрд╛рдЗрдб

рдЫреЛрдЯреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рдВрдбрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЬрд┐рд╕рдХрд╛ рдЖрдХрд╛рд░ 100 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдкреНрд░рджрд░реНрд╢рди рд╢рд╛рдпрдж рд╣реА рдХрднреА рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЬрдм рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреЗ рдЕрдзреНрдпрдпрди рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЖрдХрд╛рд░ рдХрдИ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡реГрджреНрдзрд┐ рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рд╕реНрдореГрддрд┐ рдХреА рдХрдореА рдХреЗ рдХрд╛рд░рдг рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдерддрд╛ рднреА рдкреИрджрд╛ рдХрд░ рд╕рдХрддреА рд╣реИрдВред

рдЬрдмрдХрд┐ рд╕реНрдкрд╛рд░реНрдХ рдЬреИрд╕реЗ рдЙрдкрдХрд░рдг рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдмрдбрд╝реЗ рдбреЗрдЯрд╛ рд╕реЗрдЯ (рд╕реИрдХрдбрд╝реЛрдВ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд╕реЗ рдХрдИ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯ рддрдХ) рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрдирдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрдорддреМрд░ рдкрд░ рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рдорд╣рдВрдЧреЗ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдФрд░, рдкрд╛рдВрдбрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рд╡реЗ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рд╕рдлрд╛рдИ, рдЕрдиреБрд╕рдВрдзрд╛рди рдФрд░ рдбреЗрдЯрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рдореГрджреНрдз рд╕реЗрдЯреЛрдВ рдореЗрдВ рднрд┐рдиреНрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдордзреНрдпрдо рдЖрдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП, рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдкрд╛рдВрдбрд╛ рдХреЛ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред



рдЖрдЬ рд╣рдо рдЬрд┐рд╕ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ, DataFrame рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореЗрдореЛрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдФрд░ DataFrame рдХреА рддрд╛рд▓рд┐рдХрд╛ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдХреЙрд▓рдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЙрдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХреЛ рд▓рдЧрднрдЧ 90% рддрдХ рдХреИрд╕реЗ рдХрдо рдХрд░реЗрдВред

рдмреЗрд╕рдмреЙрд▓ рдЧреЗрдо рдкрд░ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛


рд╣рдо рдореЗрдЬрд░ рд▓реАрдЧ рдХреЗ рдмреЗрд╕рдмреЙрд▓ рдЦреЗрд▓ рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ, рдЬреЛ 130 рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд░реЗрдЯреНрд░реЛрд╕реЗрдЯ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ 127 CSV рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЙрдиреНрд╣реЗрдВ csvkit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдореА рддрд╛рд▓рд┐рдХрд╛ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реНрддрдВрдн рдирд╛рдореЛрдВ рд╡рд╛рд▓реА рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдЗрд╕ рдбреЗрдЯрд╛ рдХреЗ рд╣рдорд╛рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдЦ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

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

 import pandas as pd gl = pd.read_csv('game_logs.csv') gl.head() 

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

  • date - рдЦреЗрд▓ рдХреА рддрд╛рд░реАрдЦред
  • v_name - рдЕрддрд┐рдерд┐ рдЯреАрдо рдХрд╛ рдирд╛рдоред
  • v_league - рдореЗрд╣рдорд╛рди рдЯреАрдо рдХреА рд▓реАрдЧред
  • h_name - рд╣реЛрдо рдЯреАрдо рдХрд╛ рдирд╛рдоред
  • h_league - рд╣реЛрдо рдЯреАрдо рд▓реАрдЧред
  • v_score - рджреВрд░ рдЯреАрдо рд╕реЗ рдЕрдВрдХред
  • h_score - рд╣реЛрдо рдЯреАрдо рдХреЗ рдкреЙрдЗрдВрдЯреНрд╕ред
  • v_line_score - рдЕрддрд┐рдерд┐ рдЯреАрдо рдХреЗ рдЕрдВрдХреЛрдВ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП - 010000(10)00 ред
  • h_line_score - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реЛрдо рдЯреАрдо рдХреЗ рдЕрдВрдХреЛрдВ рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ - 010000(10)0X ред
  • park_id - рдЙрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЬрд┐рд╕ рдкрд░ рдЦреЗрд▓ рдЦреЗрд▓рд╛ рдЧрдпрд╛ рдерд╛ред
  • attendance - рджрд░реНрд╢рдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред

DataFrame рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк DataFrame.info () рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЖрдХрд╛рд░, рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдФрд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкрд╛рдВрдбрд╛, рд╕рдордп рдХреА рдмрдЪрдд рдХреЗ рд▓рд┐рдП, DataFrame рджреНрд╡рд╛рд░рд╛ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдиреБрдорд╛рдирд┐рдд рдЬрд╛рдирдХрд╛рд░реА DataFrame ред рд╣рдо рд╕рдЯреАрдХ рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо memory_usage рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ 'deep' рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗред

 gl.info(memory_usage='deep') 

рдпрд╣рд╛рдВ рд╡реЗ рдЬрд╛рдирдХрд╛рд░реА рджреА рдЧрдИ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ:

 <class 'pandas.core.frame.DataFrame'> RangeIndex: 171907 entries, 0 to 171906 Columns: 161 entries, date to acquisition_info dtypes: float64(77), int64(6), object(78) memory usage: 861.6 MB 

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 171,907 рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдФрд░ 161 рд╕реНрддрдВрдн рд╣реИрдВред рдкрд╛рдВрдбрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдиреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ред рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде 83 рдХреЙрд▓рдо рд╣реИрдВ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде 78 рдХреЙрд▓рдо рд╣реИрдВред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЙрд▓рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬрд╣рд╛рдВ рдХреЙрд▓рдо рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рд╣реЛрддреЗ рд╣реИрдВред

рдЕрдм, рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдЗрд╕ DataFrame рд╕рд╛рде рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдЗрдП рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдкрд╛рдВрдбрд╛ рдореЗрдореЛрд░реА рдореЗрдВ рдбреЗрдЯрд╛ рдХреИрд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВред

рдХрд┐рд╕реА DataFrame рдХрд╛ рдЖрдВрддрд░рд┐рдХ рджреГрд╢реНрдп


рдкрдВрдбреЛрдВ рдХреЗ рдЕрдВрджрд░, рдбреЗрдЯрд╛ рдХреЙрд▓рдо рдХреЛ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдмреНрд▓реЙрдХ рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдХ DataFrame рдХреЗ рдкрд╣рд▓реЗ 12 рдХреЙрд▓рдо рдкрд╛рдВрдбрд╛ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП DataFrame рд╣реИрдВред


рдкрд╛рдВрдбрд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдмреНрд▓реЙрдХ рдХреЙрд▓рдо рдирд╛рдо рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ DataFrame рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд▓реЙрдХ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред BlockManager рд╡рд░реНрдЧ рдбреЗрдЯрд╛ рд╕реЗрдЯ рдХреА рдкрдВрдХреНрддрд┐ рдФрд░ рдХреЙрд▓рдо рдЗрдВрдбреЗрдХреНрд╕ рдХреЗ рдмреАрдЪ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ рдФрд░ рдПрдХ рд╣реА рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рдмреНрд▓реЙрдХ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдПрдкреАрдЖрдИ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддрд╛ рд╣реИ рдЬреЛ рдмреБрдирд┐рдпрд╛рджреА рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╣рдо рдорд╛рдиреЛрдВ рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ, рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ DataFrame рд╡рд░реНрдЧ рд╣рдорд╛рд░реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рд╡рд┐рдзрд┐ рдХреЙрд▓ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DataFrame рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдореЗрдВ pandas.core.internals рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЧ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдВрдбрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЙрд▓рдо рд╡рд╛рд▓реЗ рдмреНрд▓реЙрдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ObjectBlock рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ FloatBlock рд╡рд░реНрдЧ рдЙрди рдХреЙрд▓рдо рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рд░рдЦрддреЗ рд╣реИрдВред рдкреВрд░реНрдгрд╛рдВрдХ рдпрд╛ рдлрд╝реНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░реЛрдВ рдХреА рддрд░рд╣ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдиреЛрдВ рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рд╡рд╛рд▓реЗ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП, рдкрдВрдбрд╛рд╕ рдХреЙрд▓рдо рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдиреНрдпреВрдкреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдбреЗрдЯрд╛рд░реА ndarray рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИред рдпрд╣ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╕рд░рдгреА C рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдорд╛рдиреЛрдВ рдХреЛ рд╕реНрдореГрддрд┐ рдХреЗ рдирд┐рд░рдВрддрд░ рдмреНрд▓реЙрдХ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реНрдХреАрдо рдХреА рдмрджреМрд▓рдд рдбреЗрдЯрд╛ рдХреЗ рдЯреБрдХрдбрд╝реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред

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

 for dtype in ['float','int','object']:   selected_dtype = gl.select_dtypes(include=[dtype])   mean_usage_b = selected_dtype.memory_usage(deep=True).mean()   mean_usage_mb = mean_usage_b / 1024 ** 2   print("Average memory usage for {} columns: {:03.2f} MB".format(dtype,mean_usage_mb)) 

рдирддреАрдЬрддрди, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЗ рдФрд╕рдд рд╕рдВрдХреЗрддрдХ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ:

 Average memory usage for float columns: 1.29 MB Average memory usage for int columns: 1.12 MB Average memory usage for object columns: 9.53 MB 

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

рдЙрдкрдкреНрд░рдХрд╛рд░


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

рдкрдВрдбреЛрдВ рдореЗрдВ рдХрдИ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рдХрдИ рдЙрдкрдкреНрд░рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдореВрд▓реНрдп рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, float рдкреНрд░рдХрд╛рд░ рдореЗрдВ float16 , float рдФрд░ float float64 ред рдкреНрд░рдХрд╛рд░ рдирд╛рдо рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдмрд┐рдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрдк-рдкреНрд░рдХрд╛рд░ рдорд╛рдиреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рдХреНрд░рдорд╢рдГ рд╕реВрдЪреАрдмрджреНрдз рдЙрдк-рд╡рд░реНрдЧреЛрдВ рдореЗрдВ 2, 4, 8 рдФрд░ 16 рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирд┐рдореНрди рддрд╛рд▓рд┐рдХрд╛ рдкрдВрдбреЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдЙрдкрдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рджрд┐рдЦрд╛рддреА рд╣реИред
рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ, рдмрд╛рдЗрдЯреНрд╕
рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░
рдкреВрд░реНрдгрд╛рдВрдХ
рдирд┐рд░реБрдкрд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ
рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп
рдмреВрд▓рд┐рдпрди рдореВрд▓реНрдп
рд╡рд╕реНрддреБ
1
int8
uint8
bool
2
float16
int16
uint16
4
float32
int32
uint32
8
float64
int64
uint64
datetime64
рдЪрд░ рд╕реНрдореГрддрд┐ рдХреНрд╖рдорддрд╛
рд╡рд╕реНрддреБ

рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯрд╛рдЗрдк int8 рдХрд╛ рдорд╛рди 1 рдмрд╛рдЗрдЯ (8 рдмрд┐рдЯ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ 256 рдмрд╛рдЗрдирд░реА рдорд╛рди (2 рд╕реЗ 8 рд╢рдХреНрддрд┐) рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдЙрдкрдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ -128 рд╕реЗ рд▓реЗрдХрд░ 127 (0 рд╕рд╣рд┐рдд) рдореЗрдВ рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдЙрдкрдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдиреНрдпреВрдирддрдо рдФрд░ рдЕрдзрд┐рдХрддрдо рдореВрд▓реНрдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк numpy.iinfo() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 import numpy as np int_types = ["uint8", "int8", "int16"] for it in int_types:   print(np.iinfo(it)) 

рдЗрд╕ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рдорд┐рд▓рддреЗ рд╣реИрдВ:

 Machine parameters for uint8 --------------------------------------------------------------- min = 0 max = 255 --------------------------------------------------------------- Machine parameters for int8 --------------------------------------------------------------- min = -128 max = 127 --------------------------------------------------------------- Machine parameters for int16 --------------------------------------------------------------- min = -32768 max = 32767 --------------------------------------------------------------- 

рдпрд╣рд╛рдВ рдЖрдк рдкреНрд░рдХрд╛рд░ uint (рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ) рдФрд░ int (рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреВрд░реНрдгрд╛рдВрдХ) рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдкрд░ рдзреНрдпрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВред рджреЛрдиреЛрдВ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕рдорд╛рди рдХреНрд╖рдорддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдорд╛рди рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдХрд╛рд░ рд╕реНрдореГрддрд┐ рдХреЗ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред

рдЙрдкрдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХреЗ рднрдВрдбрд╛рд░рдг рдХрд╛ рдЕрдиреБрдХреВрд▓рди


pd.to_numeric() рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ pd.to_numeric() рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреВрд░реНрдгрд╛рдВрдХ рд╕реНрддрдВрднреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо DataFrame.select_dtypes() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо рдЙрдирдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреБрдХреВрд▓рди рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреА рддреБрд▓рдирд╛ рдХрд░рддреЗ рд╣реИрдВред

 #     ,   , #   ,      . def mem_usage(pandas_obj):   if isinstance(pandas_obj,pd.DataFrame):       usage_b = pandas_obj.memory_usage(deep=True).sum()   else: #     ,     DataFrame,   Series       usage_b = pandas_obj.memory_usage(deep=True)   usage_mb = usage_b / 1024 ** 2 #       return "{:03.2f} MB".format(usage_mb) gl_int = gl.select_dtypes(include=['int']) converted_int = gl_int.apply(pd.to_numeric,downcast='unsigned') print(mem_usage(gl_int)) print(mem_usage(converted_int)) compare_ints = pd.concat([gl_int.dtypes,converted_int.dtypes],axis=1) compare_ints.columns = ['before','after'] compare_ints.apply(pd.Series.value_counts) 

рдпрд╣рд╛рдБ рд╕реНрдореГрддрд┐ рдЦрдкрдд рдХреЗ рдПрдХ рдЕрдзреНрдпрдпрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИ:

7.87 MB
1.48 MB

рдХреЛ
рдХреЗ рдмрд╛рдж
uint8
NaN
5.0
uint32
NaN
1.0
int64
6.0
NaN

рдирддреАрдЬрддрди, рдЖрдк рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдореЗрдВ 7.9 рд╕реЗ 1.5 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рддрдХ рдХреА рдЧрд┐рд░рд╛рд╡рдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН - рд╣рдордиреЗ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд 80% рд╕реЗ рдЕрдзрд┐рдХ рдШрдЯрд╛ рджреА рд╣реИред рдореВрд▓ DataFrame рдкрд░ рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рд╕рдордЧреНрд░ рдкреНрд░рднрд╛рд╡, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдордЬрдмреВрдд рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдХрдо рдкреВрд░реНрдгрд╛рдВрдХ рд╕реНрддрдВрдн рд╣реИрдВред

рдЖрдЗрдП рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рд╡рд╛рд▓реЗ рдХреЙрд▓рдо рдХреЗ рд╕рд╛рде рднреА рдРрд╕рд╛ рд╣реА рдХрд░реЗрдВред

 gl_float = gl.select_dtypes(include=['float']) converted_float = gl_float.apply(pd.to_numeric,downcast='float') print(mem_usage(gl_float)) print(mem_usage(converted_float)) compare_floats = pd.concat([gl_float.dtypes,converted_float.dtypes],axis=1) compare_floats.columns = ['before','after'] compare_floats.apply(pd.Series.value_counts) 

рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:

100.99 MB
50.49 MB

рдХреЛ
рдХреЗ рдмрд╛рдж
float32
NaN
77.0
float64
77.0
NaN

рдирддреАрдЬрддрди, рд╕рднреА рдХреЙрд▓рдо рдЬреЛ рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк float64 рд╕рд╛рде рдлреНрд▓реЛрдЯрд┐рдВрдЧ рдкреЙрдЗрдВрдЯ рдирдВрдмрд░ рд╕рдВрдЧреНрд░рд╣реАрдд float64 рд╣реИрдВ, рдЕрдм рдЯрд╛рдЗрдк float64 рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реНрдЯреЛрд░ float32 , рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдореЗрдВ 50% рдХреА рдХрдореА рд╣реБрдИред

рдореВрд▓ DataFrame рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдПрдБ, рдЬреЛ рдХрд┐ рдЗрд╕рдореЗрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рдереЗ, рдХреЗ рдмрдЬрд╛рдп рдЗрди рдЕрдиреБрдХреВрд▓рд┐рдд рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╕реНрддрдВрднреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж рд╕рдордЧреНрд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦреЗрдВред

 optimized_gl = gl.copy() optimized_gl[converted_int.columns] = converted_int optimized_gl[converted_float.columns] = converted_float print(mem_usage(gl)) print(mem_usage(optimized_gl)) 

рдпрд╣рд╛рдБ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛ рд╣реИ:

861.57 MB
804.69 MB


рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдордиреЗ рдкреВрд░реЗ DataFrame рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрддрдВрднреЛрдВ рджреНрд╡рд╛рд░рд╛ рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрдореЛрд░реА рдХреА рдЦрдкрдд рдореЗрдВ 7% рдХреА рдХрдореА рдЖрдИ рд╣реИред рд╡рд╕реНрддреБ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд┐рд╕реА рд╕реНрдерд┐рддрд┐ рдХреЗ рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рд╕реБрдзрд╛рд░ рдХрд╛ рд╕реНрд░реЛрдд рдмрди рд╕рдХрддрд╛ рд╣реИред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдЗрд╕ рдЕрдиреБрдХреВрд▓рди рдХреЛ рдХрд░реЗрдВ, рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВрдЧреЗ рдХрд┐ рдкрдВрдбреЛрдВ рдореЗрдВ рддрд╛рд░ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдпрд╣рд╛рдБ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИред

рд╕рдВрдЦреНрдпрд╛ рдФрд░ рддрд╛рд░реЛрдВ рдХреЗ рднрдВрдбрд╛рд░рдг рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХреА рддреБрд▓рдирд╛


object рдкреНрд░рдХрд╛рд░ рдкрд╛рдпрдерди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ NumPy рдЧрд╛рдпрдм рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреЗ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдкрд╛рдпрдерди рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рд╣реИ, рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдареАрдХ-рдЯреНрдпреВрдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рд╕реАрдорд╛ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдХрд┐ рддрд╛рд░ рд╕реНрдореГрддрд┐ рдХреЗ рд╕рдиреНрдирд┐рд╣рд┐рдд рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рдЬрдорд╛ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд╕реНрдореГрддрд┐ рдореЗрдВ рдЙрдирдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдЦрдВрдбрд┐рдд рд╣реИред рдпрд╣ рд╕реНрдореГрддрд┐ рдХреА рдЦрдкрдд рдореЗрдВ рд╡реГрджреНрдзрд┐ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЧрддрд┐ рдореЗрдВ рдордВрджреА рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдХреЙрд▓рдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ "рдкрддрд╛" рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореВрд▓реНрдп рд╕реНрдореГрддрд┐ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛрддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЖрд░реЗрдЦ рд╣реИ рдЬреЛ рдиреНрдпреВрдордкреА рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рдкрд╛рдпрдерди рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрд╛рд░реЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИред


рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдФрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛

рдпрд╣рд╛рдВ рдЖрдк рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдКрдкрд░ рджреА рдЧрдИ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдпрд╣ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдореЗрдореЛрд░реА рдХреА рдПрдХ рдЪрд░ рд░рд╛рд╢рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкреНрд░рддреНрдпреЗрдХ рдкреЙрдЗрдВрдЯрд░ 1 рдмрд╛рдЗрдЯ рдХреА рдореЗрдореЛрд░реА рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдореЗрдВ рдореЗрдореЛрд░реА рдХреА рд╕рдорд╛рди рдорд╛рддреНрд░рд╛ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо sys.getsizeof() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реЗрдЦрд╛рдУрдВ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдФрд░ рдлрд┐рд░ Series рдкрд╛рдВрдбрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред

рддреЛ, рдкрд╣рд▓реЗ рд╣рдо рд╕рд╛рдорд╛рдиреНрдп рд▓рд╛рдЗрдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:

 from sys import getsizeof s1 = 'working out' s2 = 'memory usage for' s3 = 'strings in python is fun!' s4 = 'strings in python is fun!' for s in [s1, s2, s3, s4]:   print(getsizeof(s)) 

рдпрд╣рд╛рдБ, рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

60
65
74
74


рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ Series рд╡рд╕реНрддреБ рдореЗрдВ рддрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИ:

 obj_series = pd.Series(['working out',                         'memory usage for',                         'strings in python is fun!',                         'strings in python is fun!']) obj_series.apply(getsizeof) 

рдпрд╣рд╛рдБ рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИрдВ:

 0    60 1    65 2    74 3    74 dtype: int64 

рдпрд╣рд╛рдБ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ Series рдкрд╛рдВрдбрд╛ рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХреЗ рд╕рдорд╛рди рд╣реИрдВ рдЬрдм рдкрд╛рдпрдерди рдореЗрдВ рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред

рд╢реНрд░реЗрдгреАрдЧрдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХрд╛рд░ рдбреЗрдЯрд╛ рдХреЗ рднрдВрдбрд╛рд░рдг рдХрд╛ рдЕрдиреБрдХреВрд▓рди


рд╢реНрд░реЗрдгреА рд╕рдВрд╕реНрдХрд░рдг 0.15 рдкрд╛рдВрдбрд╛ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рддрд╛рд▓рд┐рдХрд╛ рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдореВрд▓ рдорд╛рдиреЛрдВ рдХреЗ рдмрдЬрд╛рдп рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХрд╛рд░, category , рдЕрдкрдиреЗ рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ рдореЗрдВ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдкрдВрдбреЛрдВ рдиреЗ рдПрдХ рдЕрд▓рдЧ рд╢рдмреНрджрдХреЛрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдкреВрд░реНрдгрд╛рдВрдХ рдФрд░ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╕реНрддрдВрдн рд╕реАрдорд┐рдд рд╕реЗрдЯ рд╕реЗ рдорд╛рди рд╕рдореНтАНрдорд┐рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ рддреЛ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИред рдЬрдм рдХрд┐рд╕реА рдХреЙрд▓рдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдХреЛ category рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрдВрдбрд╛рд╕ int рдЙрдкрдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдореЗрдореЛрд░реА рдХреЗ рд╕рдмрд╕реЗ рдХреБрд╢рд▓ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреЙрд▓рдо рдореЗрдВ рдкрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред


Int8 рдЙрдкрдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдбреЗрдЯрд╛ рдФрд░ рд╢реНрд░реЗрдгреАрдмрджреНрдз рдбреЗрдЯрд╛

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

 gl_obj = gl.select_dtypes(include=['object']).copy() gl_obj.describe() 

рдЖрдк рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ, рдХреА рд╢реАрдЯ рдкрд░ рдХреНрдпрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, day_of_week рдХреЙрд▓рдо рдореЗрдВ, рдЬрд┐рд╕ рджрд┐рди рдЦреЗрд▓ рдЦреЗрд▓рд╛ рдЧрдпрд╛ рдерд╛, рдЙрд╕ рджрд┐рди 171907 рдореВрд▓реНрдп рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ, рдХреЗрд╡рд▓ 7 рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдЗрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ 172,000 рдЦреЗрд▓реЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рдХреБрдЫ рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рд╣рдо рдкреВрд░реНрдг рдкреИрдорд╛рдиреЗ рдкрд░ рдЕрдиреБрдХреВрд▓рди рдХрд░реЗрдВ, рдПрдХ рдРрд╕рд╛ рдХреЙрд▓рдо рдЪреБрдиреЗрдВ рдЬреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рдбреЗрдЯрд╛, рдХрдо рд╕реЗ рдХрдо day_of_week , рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдпрд╣ рдПрдХ рд╢реНрд░реЗрдгреАрдмрджреНрдз рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕ рд╕реНрддрдВрдн рдореЗрдВ рдХреЗрд╡рд▓ 7 рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдп рд╣реИрдВред рдЗрд╕реЗ рдПрдХ .astype() рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо .astype() рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

 dow = gl_obj.day_of_week print(dow.head()) dow_cat = dow.astype('category') print(dow_cat.head()) 

рдпрд╣рд╛рдБ рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛ рд╣реИ:

 0    Thu 1    Fri 2    Sat 3    Mon 4    Tue Name: day_of_week, dtype: object 0    Thu 1    Fri 2    Sat 3    Mon 4    Tue Name: day_of_week, dtype: category Categories (7, object): [Fri, Mon, Sat, Sun, Thu, Tue, Wed] 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрддрдВрдн рдХрд╛ рдкреНрд░рдХрд╛рд░ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рджрд┐рдЦрддрд╛ рд╣реИред рдЕрдм рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдореЗрдВ, рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП Series.cat.codes рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдкреВрд░реНрдгрд╛рдВрдХ category рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

 dow_cat.head().cat.codes 

рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ:

 0    4 1    0 2    2 3    1 4    5 dtype: int8 

рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рди рдХреЛ рдПрдХ рдкреВрд░реНрдгрд╛рдВрдХ рдорд╛рди рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐ рд╕реНрддрдВрдн рдЕрдм рдкреНрд░рдХрд╛рд░ int8 ред рд▓рд╛рдкрддрд╛ рдорд╛рди рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рддреЛ -1 рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдРрд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ред

рдЕрдм рдЪрд▓реЛ day_of_week рдХреЙрд▓рдо рдХреЛ category рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдФрд░ рдмрд╛рдж рдореЗрдВ рдореЗрдореЛрд░реА рдЦрдкрдд рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред

 print(mem_usage(dow)) print(mem_usage(dow_cat)) 

рдпрд╣рд╛рдБ рдкрд░рд┐рдгрд╛рдо рд╣реИ:

9.84 MB
0.16 MB


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкрд╣рд▓реЗ 9.84 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдореЗрдореЛрд░реА рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдХреЗрд╡рд▓ 0.16 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕ рд╕реВрдЪрдХ рдореЗрдВ 98% рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИред рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рд╕реНрддрдВрдн рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рд▓рд╛рднрджрд╛рдпрдХ рдЕрдиреБрдХреВрд▓рди рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрдм рд▓рдЧрднрдЧ 17,000,000 рддрддреНрд╡реЛрдВ рд╡рд╛рд▓реЗ рд╕реНрддрдВрдн рдореЗрдВ рдХреЗрд╡рд▓ 7 рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрджреНрдпрдкрд┐ рдЗрд╕ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рд╕рднреА рдХреЙрд▓рдо рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдЖрдХрд░реНрд╖рдХ рд▓рдЧрддрд╛ рд╣реИ, рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рддрд░рд╣ рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рдирдХрд╛рд░рд╛рддреНрдордХ рджреБрд╖реНрдкреНрд░рднрд╛рд╡реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рд╕рдмрд╕реЗ рдЧрдВрднреАрд░ рдЛрдгрд╛рддреНрдордХ рдбреЗрдЯрд╛ рдкрд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рд╣реИред рдпрд╣ рд╕рд╛рдзрд╛рд░рдг рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдкрд░рд┐рдЪрд╛рд▓рдиреЛрдВ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдХрд╛рд░ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ Series.min() рдФрд░ Series.max() рдЬреИрд╕реЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред

рд╣рдореЗрдВ category рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрди рд╕реНрддрдВрднреЛрдВ рддрдХ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЯрд╛рдЗрдк object рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ 50% рд╕реЗ рдХрдо рдореВрд▓реНрдп рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВред рдпрджрд┐ рдХрд┐рд╕реА рдХреЙрд▓рдо рдХреЗ рд╕рднреА рдореВрд▓реНрдп рдЕрджреНрд╡рд┐рддреАрдп рд╣реИрдВ, рддреЛ category рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЗрдореЛрд░реА рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕реНрддрд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреАред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореЗрдореЛрд░реА рдореЗрдВ рдЖрдкрдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рд╢реНрд░реЗрдгреА рдХреЛрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореВрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рдиреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред category рдкреНрд░рдХрд╛рд░ рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдкрд░ рд╡рд┐рд╡рд░рдг рдкрд╛рдВрдбрд╛ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЖрдЗрдП рдПрдХ рд▓реВрдк рдмрдирд╛рдПрдВ рдЬреЛ рдЯрд╛рдЗрдк object рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд╕реНрддрдВрднреЛрдВ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 50% рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЯрд╛рдЗрдк category рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред

 converted_obj = pd.DataFrame() for col in gl_obj.columns:   num_unique_values = len(gl_obj[col].unique())   num_total_values = len(gl_obj[col])   if num_unique_values / num_total_values < 0.5:       converted_obj.loc[:,col] = gl_obj[col].astype('category')   else:       converted_obj.loc[:,col] = gl_obj[col] 

рдЕрдм рддреБрд▓рдирд╛ рдХрд░реЗрдВ рдХрд┐ рдкрд╣рд▓реЗ рдЬреЛ рд╣реБрдЖ рдЙрд╕рдХреЗ рд╕рд╛рде рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рдж рдХреНрдпрд╛ рд╣реБрдЖ:

 print(mem_usage(gl_obj)) print(mem_usage(converted_obj)) compare_obj = pd.concat([gl_obj.dtypes,converted_obj.dtypes],axis=1) compare_obj.columns = ['before','after'] compare_obj.apply(pd.Series.value_counts) 

рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

752.72 MB
51.67 MB

рдХреЛ
рдХреЗ рдмрд╛рдж
рд╡рд╕реНрддреБ
78.0
NaN
рд╢реНрд░реЗрдгреА
NaN
78.0

category , , , , , , , , .

, , , object , 752 52 , 93%. , . , , , , 891 .

 optimized_gl[converted_obj.columns] = converted_obj mem_usage(optimized_gl) 

:

'103.64 MB'

. - . , datetime , , , .

 date = optimized_gl.date print(mem_usage(date)) date.head() 

:

0.66 MB

:

 0    18710504 1    18710505 2    18710506 3    18710508 4    18710509 Name: date, dtype: uint32 

, uint32 . - datetime , 64 . datetime , , , .

to_datetime() , format , YYYY-MM-DD .

 optimized_gl['date'] = pd.to_datetime(date,format='%Y%m%d') print(mem_usage(optimized_gl)) optimized_gl.date.head() 

:

104.29 MB

:

 0   1871-05-04 1   1871-05-05 2   1871-05-06 3   1871-05-08 4   1871-05-09 Name: date, dtype: datetime64[ns] 


DataFrame . , , , , , , , . , . , , , . , , DataFrame , .

, . pandas.read_csv() , . , dtype , , , , тАФ NumPy.

, , . , .

 dtypes = optimized_gl.drop('date',axis=1).dtypes dtypes_col = dtypes.index dtypes_type = [i.name for i in dtypes.values] column_types = dict(zip(dtypes_col, dtypes_type)) #    161 ,  #  10  /   #     preview = first2pairs = {key:value for key,value in list(column_types.items())[:10]} import pprint pp = pp = pprint.PrettyPrinter(indent=4) pp.pprint(preview)     : {   'acquisition_info': 'category',   'h_caught_stealing': 'float32',   'h_player_1_name': 'category',   'h_player_9_name': 'category',   'v_assists': 'float32',   'v_first_catcher_interference': 'float32',   'v_grounded_into_double': 'float32',   'v_player_1_id': 'category',   'v_player_3_id': 'category',   'v_player_5_id': 'category'} 

, , .

- :

 read_and_optimized = pd.read_csv('game_logs.csv',dtype=column_types,parse_dates=['date'],infer_datetime_format=True) print(mem_usage(read_and_optimized)) read_and_optimized.head() 

:

104.28 MB

, .

, , , , . pandas 861.6 104.28 , 88% .


, , , . .

 optimized_gl['year'] = optimized_gl.date.dt.year games_per_day = optimized_gl.pivot_table(index='year',columns='day_of_week',values='date',aggfunc=len) games_per_day = games_per_day.divide(games_per_day.sum(axis=1),axis=0) ax = games_per_day.plot(kind='area',stacked='true') ax.legend(loc='upper right') ax.set_ylim(0,1) plt.show() 


,

, 1920- , , 50 , .

, , , 50 , .

, .

 game_lengths = optimized_gl.pivot_table(index='year', values='length_minutes') game_lengths.reset_index().plot.scatter('year','length_minutes') plt.show() 




, 1940- .

рдкрд░рд┐рдгрд╛рдо


pandas, , DataFrame , 90%. :

  • , , , , .
  • .

, , , , , , pandas, , .

рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! eugene_bb . - , тАФ .

Source: https://habr.com/ru/post/hi442516/


All Articles