Pandas: рдбреЗрдЯрд╛рдлрд╝реНрд░реЗрдо рдирд┐рд░реНрдорд╛рдг: рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдХреЗ рд╕рд╛рде dtypes рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 18 рдЬрдире░ 2015  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pandas-dev/pandas

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

df = pd.DataFrame(data=data, columns=columns, dtypes={'colname1': str, 'colname2': np.int})

рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░ , рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдХреЛрдИ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рдХреЙрд▓рдо рдХреЗ рд▓рд┐рдП dtypes рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

df.change_types({'colname1': str, 'colname2': np.int})

рдХреНрдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рдпреЛрдЬрдирд╛рдмрджреНрдз рд╣реИ?

API Design Dtypes Duplicate Reshaping

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдпрд╣ рддрд░реАрдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
data_df = data_df.astype( dtype= {"wheel_number":"int64", "car_name":"object",,"minutes_spent":"float64"})

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рджреЗрдЦреЗрдВ #9133 рдФрд░ #4464 рдпрд╣ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ
рдХреНрдпрд╛ рдПрдХ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?

рдпрд╣ рддрд░реАрдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
data_df = data_df.astype( dtype= {"wheel_number":"int64", "car_name":"object",,"minutes_spent":"float64"})

read_csv( csvFile, dtype={..} ) рдФрд░ df.astpye(dtype={..} ) рдмреАрдЪ рдПрдХ рдЕрдВрддрд░:
Read_csv рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдареАрдХ рд╣реИ рдпрджрд┐ рдЖрдкреВрд░реНрддрд┐ рдХрд┐рдП рдЧрдП рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдЕрдзрд┐рдХ рдХреЙрд▓рдо рд╣реИрдВ рдЬреЛ csv рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЗрдирд╛рдпрдд рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред astype() рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рднреА рдХреЙрд▓рдо рдбреЗрдЯрд╛ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИрдВ рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рдЕрдзрд┐рдХ read_csv рдЬреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдирд┐рд░реНрджреЗрд╢ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ рдХреБрдЫ рдХреЙрд▓рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреНрдп рдирд╣реАрдВред рдЕрднреА рдореБрдЭреЗ рдпрд╣реА рдЙрдкрд╛рдп рдХрд░рдирд╛ рд╣реИ:

df = pd.DataFrame( incoming_data )
gtfs_dtypes = { ... } # my master dtypes dict, having all possible column names
gtfs_dtypes_specific = { x:gtfs_dtypes.get(x,'str') for x in df.columns.tolist() }
df = df.astype(dtype=gtfs_dtypes_specific)
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

hiiwave picture hiiwave  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ebran picture ebran  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

swails picture swails  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

BDannowitz picture BDannowitz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MatzeB picture MatzeB  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ