<p>pandas.DataFrame.query рдХреЙрд▓рдо рдирд╛рдо рдХреЛ рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдлрд╝рд░ре░ 2014  ┬╖  41рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: pandas-dev/pandas

рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛

df.query('[col with space] < col')

рдореБрдЭреЗ рдХрдИ рдмрд╛рд╣рд░реА рдбреЗрдЯрд╛ рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓реАрдВ рдЬрд┐рдирдореЗрдВ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╣реИрдВред рдкрд╣рд▓реЗ рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо рдмрджрд▓реЗ рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдкрд░ рддреНрд╡рд░рд┐рдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

API Design Indexing Reshaping

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

R рдФрд░ dplyr рд╕реНрдкреЗрд╕ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рдЙрджреНрдзреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдЯрд┐рдХ (``) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

df$`column with space`
df %>%
    mutate(`column with space` = 1)

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрд╛рдВрдбрд╛ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдХрдард┐рди рд╣реИ, рддрд╛рдХрд┐ query , eval рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ df. рдЬреИрд╕реЗ рдХрд╛рд░реНрдп рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдХреЙрд▓рдо рдирд╛рдореЛрдВ рд╕реЗ рдирд┐рдкрдЯ рд╕рдХреЗрдВ?

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

рд╣рдореНрдоред рдХрдИ рдбреЗрдЯрд╛рд╕реЗрдЯ _do_ рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрд╕ рдирдП рд╕рд┐рдВрдЯреИрдХреНрд╕ (рдпрд╛ рдХреБрдЫ рд╕рдорд╛рди) рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдмрдирд╛рдо рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо рдмрджрд▓рдирд╛ рд╕реАрдзрд╛ рд╣реИ:

cols = df.columns
cols = cols.map(lambda x: x.replace(' ', '_') if isinstance(x, (str, unicode)) else x)
df.columns = cols

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

рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдореЗрдВ рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдо рд╕реАрдзреА рд╣реИрдВ:

  1. рдпрд╣ рдЯреЛрдХрди рдХреИрд╕реЗ рд╣реЛрдЧрд╛? (рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЗрддрдирд╛ рд╕реАрдзрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕реВрдЪреА рдирд┐рд░реНрдорд╛рдг рд╕реЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЯреЛрдХрди рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдкреВрд░реА рдЪреАрдЬрд╝ рдХреЛ рдПрдХ рдорд╛рдиреНрдп рдкрд░ рдореИрдк рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкрд╛рдпрдерди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛)ред
  2. рдпрд╣ рдкрд╛рд░реНрд╕ рдХреИрд╕реЗ рд╣реЛрдЧрд╛? (рдмрд╣реБрдд рдХрдард┐рди рдирд╣реАрдВ рд╣реИ, рдпрд╣ ColumnNode рдпрд╛ рдХреБрдЫ рдРрд╕реА рд╡рд╕реНрддреБ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдлреНрд░реЗрдо рдореЗрдВ рдПрдХ рдХреЙрд▓рдо рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ)

рдХреБрдЫ рдРрд╕рд╛ рдЬреЛ рдПрдХ рдЦреБрд╢рд╣рд╛рд▓ рдорд╛рдзреНрдпрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ df = pd.clean_columns(df) рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдЖрдкрдХреЗ рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ рд╡реИрдз рдкрд╛рдпрдерди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдмрдирд╛ рджреЗрдЧрд╛ рддрд╛рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред

рдореИрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВред рд╢рд╛рдпрдж рд╣рдо рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╕рд╛рдорд╛рдиреНрдп рдХреЛрд╖реНрдардХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ

df.query('(col with space) < col')

рд╡реИрд╕реЗ рднреА, clean_columns рд╡рд┐рдзрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ read_csv рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдПрдХ рдХреАрд╡рд░реНрдб рддрд░реНрдХ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@socheon рдЖрдЗрдП рдЕрдкрдиреА рдЪрд░реНрдЪрд╛ рдХреЛ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдкрд░ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ (рдореИрдВ рд╡рд┐рд╖рдп рд╕реЗ рднреА clean_columns рддрд░реНрдХ read_csv , рддреЛ рдХреГрдкрдпрд╛ рдПрдХ рдФрд░ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред

@jreback рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп clean_columns рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдХреЙрд▓рдо рдирд╛рдо рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЙрджреНрдзрд░рдг рдбрд╛рд▓рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ

рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ & рдФрд░ | рдЗрдиреНрд╣реЗрдВ рд╕рд┐рдВрдЧрд▓ рдЯреЛрдХрди рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

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

df.query("'a column with a space' > 2") -> df.query("tmp_var_str_some_hex_value > 2")

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЙрд▓рдо рдХреЛ рдЙрд╕рдХреЗ рд╕реНрд╡рдЪреНрдЫ рд╕рдВрд╕реНрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ?

df.query("column_with_space > 2")

рдЬрдм рднреА рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдореИрдВ рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдлрд╛рдИ рдХрд░рддрд╛ рд╣реВрдВред

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

рдирдорд╕реНрддреЗ,
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕рдВрдХрд▓реНрдк рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрджреНрджрд╛ рд╣реИред рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╣рдо рдХреЙрд▓рдо рдХреЗ рдирд╛рдо рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдЪ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдВрдбрд╛ рдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреГрдкрдпрд╛ рдЗрд╕ рдкрд░ рдЧреМрд░ рдХрд░рдирд╛ред рд╢реБрдХреНрд░рд┐рдпрд╛ред

@dgua рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреБрд▓-рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .query рдХреЗрд╡рд▓ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреА рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЧрд╛рд░рдВрдЯреА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛ рдХреА рддрд░рд╣ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╣реИ, рди рдХрд┐ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ред

рдХрд┐рд╕реА рднреА рдШрдЯрдирд╛ рдореЗрдВ, рдЕрдиреБрдХреНрд░рдордг рдХрд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд 'рдореБрдЦреНрдп' рддрд░реАрдХрд╛ рд╣рдореЗрд╢рд╛ рд░рд╣рд╛ рд╣реИ:

In [10]: df = DataFrame({'foo bar': [1, 2, 3, 4]})

In [11]: df[df['foo bar'] > 2]
Out[11]: 
   foo bar
2        3
3        4

рдЬреЗрд░реЗрдмреИрдХ, рдореИрдВ рдЖрдкрд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдРрд╕реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ .query рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрд╕рд╛рди/рдЕрдзрд┐рдХ рдкрдардиреАрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдм рд╣рдо рдЙрд╕ рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдпрд╛ рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╣реЗрд▓реА рдореЗрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реИред .

@dgua рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╕рдореБрджрд╛рдп рд╕реЗ рдПрдХ рдкреБрд▓-рдЕрдиреБрд░реЛрдз рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╕ рд╕рдордп рдирд╣реАрдВ рд╣реИред

R рдФрд░ dplyr рд╕реНрдкреЗрд╕ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЛ рдЙрджреНрдзреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдХрдЯрд┐рдХ (``) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

df$`column with space`
df %>%
    mutate(`column with space` = 1)

рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрд╛рдВрдбрд╛ рдкрд╛рд░реНрд╕рд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдХрд┐рддрдирд╛ рдХрдард┐рди рд╣реИ, рддрд╛рдХрд┐ query , eval рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ df. рдЬреИрд╕реЗ рдХрд╛рд░реНрдп рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдХреЙрд▓рдо рдирд╛рдореЛрдВ рд╕реЗ рдирд┐рдкрдЯ рд╕рдХреЗрдВ?

рдореБрдЭреЗ рдЭрд┐рд░реБрдЗрд╡рд╛рдВрдЧ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд╕рдВрдж рд╣реИ рдФрд░ рдЙрдирдХреЗ рдЙрддреНрдерд╛рди рдХреЛ рджреЗрдЦрдХрд░ рдЕрдиреНрдп рд▓реЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

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

рдореИрдВ рдмреИрдХрдЯрд┐рдХреНрд╕ рдХреЗ рднреАрддрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рди рдХреЛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ (рдЬреИрд╕реЗ "_" рдпрд╛ рдирд╛рдо рд╕рдВрдШрд░реНрд╖ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХреЛ рдмрджрд▓рдХрд░ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдФрд░ рдмреИрдХрдЯрд┐рдХреНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред рдпрд╣ numexpr рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдиреНрдп рд╡реНрдпрдВрдЬрдХ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЖрдЧреЗ рдХреЙрд▓рдо рдХреЗ рдирд╛рдо рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд▓рд┐рдП рд╡рд╣реА рдХрд░реЗрдВ рдЬрдм рд╡реЗ рд░рд┐рдЬрд╝реЙрд▓реНрд╡рд░ рдХреЛ рдкрд╛рд╕ рдХрд░ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдЕрдВрддрддрдГ рд╕реНрдерд╛рдиреАрдп рддрд╛рдирд╛рд╢рд╛рд╣реА рдмрдирд╛рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╕рд╣реА рдирд╛рдо рдЕрднреА рднреА numexpr рджреНрд╡рд╛рд░рд╛ рдвреВрдВрдвреЗ рдЬрд╛ рд╕рдХреЗрдВред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рдРрд╕рд╛ рджрд┐рдЦрд╛рдИ рджреЗ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕реБрдирдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рджреВрд╕рд░реЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВред

# Don't know if "_" is a good choice and don't know where to place this variable, 
# since it has to be constant in two different files and ideally is only defined once.
SEPERATOR_REPLACING_SPACES = "_"

# Replace spaces in variables surrounded by backticks:
# pandas/pandas/core/computation/expr.py 

import re

...

# new function
def _replace_spaces_backtickvariables(source):
    return re.sub(r'`(.*?)`', 
                  lambda m: m.group(1).replace(" ", SEPERATOR_REPLACING_SPACES), 
                  source)

...

# adjusted function
def _preparse(source, f=compose(_replace_locals, _replace_booleans,
                                _rewrite_assign), g=lambda x: x):
    ...
    g : callable
        This takes a source string and returns an altered one
    ...
    assert callable(g), 'g must be callable'
    source = g(source)

...

# adjusted class
class PandasExprVisitor(BaseExprVisitor):

    def __init__(self, env, engine, parser,
                 preparser=partial(_preparse, 
                                   f=compose(_replace_locals, _replace_booleans)
                                   g=_replace_spaces_backtickvariables)):

# Replace spaces in column names when passed to the localdict:
# pandas/pandas/core/frame.py

# adjusted function
def eval(self, expr, inplace=False, **kwargs):
    ...
    # line 3076
    resolvers = dict((k.replace(" ", SEPERATOR_REPLACING_SPACES), v) 
                     for k, v in self.iteritems()), index_resolvers

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдирд┐рд╢реНрдЪрд┐рдд _replace_spaces_backtickvariables (рд░реЗрдЧреЗрдХреНрд╕ рдЖрд▓рд╕реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛)

@zhiruiwang df. рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдкрд╛рдпрдерди рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди query рдФрд░ eval рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред

@jreback рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЬрд╛рдирдиреЗ рд╡рд╛рд▓реЗ рд▓рдЧрддреЗ рд╣реИрдВред

рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдмрддрд╛рдП рдЧрдП рдореЗрд░реЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ?

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдо рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рднреА рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдбреЗрд▓рд▓реБрдВрдЧ рдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП "рдЧрдВрджреЗ" рдирд╛рдореЛрдВ рдХреЛ рдЙрдирдХреЗ "рд╕рд╛рдл" рдирд╛рдореЛрдВ рд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ ("рдЗрд╕ рдХреЙрд▓рдо рдирд╛рдо" рдХреЛ "this_column_name" рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдХреЙрд▓рдо рдХреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╛рдо рдмрджрд▓реЗ) рдФрд░ `` рдПрдирдХреИрдкреНрд╕реБрд▓реЗрд╢рди рдХрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред

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

# Replace spaces in column names when passed to the localdict:
# pandas/pandas/core/frame.py

# adjusted function
def eval(self, expr, inplace=False, **kwargs):
    ...
    # line 3076
    resolvers = dict((k.replace(" ", SEPERATOR_REPLACING_SPACES), v) 
                     for k, v in self.iteritems()), index_resolvers

рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ? рдЖрдкрдХреЛ рдХреМрди рд╕рд╛ рддрд░реАрдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ?

рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрдЪреНрдЫреА рд╣реЛрдЧреА рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВ:

рд╡реНрд╣рд╛рдЗрдЯ рд╕реНрдкреЗрд╕ рдмрджрд▓реЗрдВ

df.rename(columns={k: k.replace(' ','_') k рдХреЗ рд▓рд┐рдП df.columns рдореЗрдВ рдЕрдЧрд░ k.count(' ')>0}, inplace=1)

рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рди рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

df.rename(columns={k: '_'+k for k for df.columns if k[0].isdigit()}, inplace=1)

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕рдВрддреЛрд╖рдЬрдирдХ рд╣реИред рдореИрдВ рдореВрд▓ рдХреЙрд▓рдо рдкрд░ рд╡рд╛рдкрд╕ рдХреИрд╕реЗ рдЬрд╛ рд╕рдХрддрд╛ рд╣реВрдВ? рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ '_' рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХреЙрд▓рдо рдирд╛рдо рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣ рдкрд╛рдВрдбрд╛ рдХреА рдПрдХ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдбреАрдЬреА

19 рдЬрдирд╡рд░реА, 2019, 11:49 рдкрд░ рдкрд░, bscully27 [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЕрдЪреНрдЫреА рд╣реЛрдЧреА рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рддрд╛ рд╣реВрдВ:

рд╡реНрд╣рд╛рдЗрдЯ рд╕реНрдкреЗрд╕ рдмрджрд▓реЗрдВ

df.rename(columns={k: k.replace(' ','_') k рдХреЗ рд▓рд┐рдП df.columns рдореЗрдВ рдЕрдЧрд░ k.count(' ')>0}, inplace=1)

рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рди рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

df.rename(columns={k: '_'+k for k for df.columns if k[0].isdigit()}, inplace=1)

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub https://github.com/pandas-dev/pandas/issues/6508#issuecomment-455809809 рдкрд░ https://github.com/notifications/unsubscribe-auth/ ADtPtKBTb6T5ErsqMrQYFSVblj8eYOTKks5vE3a3gaJpZM4Bl2In .

рдПрд╕рдХреНрдпреВрдПрд▓ рдореЗрдВ, рдЖрдк рдХреЗрд╡рд▓ рд╕реНрдХреНрд╡рд╛рдпрд░ рдмреНрд░реИрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реИред

@dgua рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреАрдЖрд░ рдЬрдорд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ? @zhiruiwang рдХрд╛

@TomAugspurger рдореЗрд░реА рдкрд░реАрдХреНрд╖рд╛ рдХреЗ рдмрд╛рдж рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рд╕рдордп рд╣реЛрдЧрд╛, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд▓реА рд╣реИ (рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рджреЗрдЦреЗрдВ)ред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдХреБрдЫ рдкреНрд░рд╢реНрди рд╣реИрдВ:

  • SEPERATOR_REPLACING_SPACES рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрджрд┐ рд╣рдо рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ "_" рдЪреБрдирддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рдЕрдиреНрдп рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд╣рдо "_" рдЪреБрдирддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реБрд╡рд┐рдзрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк this column name рджреНрд╡рд╛рд░рд╛ `this column name` _рдФрд░_ this_column_name ред (рд╣рдо рдмреИрдХрдЯрд┐рдХреНрд╕ рдлреАрдЪрд░ рдХреЛ рднреА рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред)

  • SEPERATOR_REPLACING_SPACES рдХреЛ рджреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рддреЛ, рдХреНрдпрд╛ рдЗрд╕реЗ рдХрд╣реАрдВ рдФрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рд╡реЗ рд╡рд╣реА рд╣реИрдВ, рдпрд╛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛?

  • рдХреЛрдб рдореЗрдВ рдореИрдВ рдмрджрд▓реВрдВрдЧрд╛, callable() рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред callable() 3.0-3.2 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдореБрдЭреЗ рдЗрд╕реЗ рдЙрд╕реА рд╕рдордп рдареАрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдореИрдВ рдЗрд╕ рдХреЛрдб рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдпрд╣рд╛рдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ :)

рдХреЛрдб рдореЗрдВ рдореИрдВ рдмрджрд▓реВрдВрдЧрд╛, рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп () 3.0-3.2 . рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ

рдкрд╛рдпрдерди 3.0 - 3.2? рд╣рдореЗрдВ 3.5+ . рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдмреИрдХрдЯрд┐рдХ рд╡рд┐рдЪрд╛рд░ рдЕрдм рдЕрдЪреНрдЫрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ eval рдпрд╛ query рд╕рдВрджрд░реНрдн рдореЗрдВ рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдХрд┐ рдЪреАрдЬреЗрдВ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдореИрдВ рдЗрд╕реЗ рдЧрд┐рд░рд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рд╕рд╛рджреЗ рдкрд╛рдпрдерди рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП, рдЯрдХрд░рд╛рд╡ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдирдП рдирд╛рдореЛрдВ рдореЗрдВ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдпрд╛ рдкреНрд░рддреНрдпрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡реЗ рд╕рднреА рдЕрдВрдбрд░рд╕реНрдХреЛрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВ)ред

рдЯрдХрд░рд╛рд╡ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд╕рд░реНрдЧ рдпрд╛ рдкреНрд░рддреНрдпрдп рд╣реИ

@beojan рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрди "рдЯрдХрд░рд╛рд╡реЛрдВ" рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦ рд╕рдХреЗрдВред рддреЛ рдЖрдк this column name рдХреЛ `this column name` _and_ this_column_name рджреНрд╡рд╛рд░рд╛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдереЛрдбрд╝рд╛ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИ рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдХреЙрд▓рдо рдирд╛рдо this column name рдФрд░ this_column_name , рд▓реЗрдХрд┐рди рдЖрдк рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗред

рдЖрдк this_column_name_ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛ рдЯрдХрд░рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХреЙрд▓рдо рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреИрд╕реЗ рд╣реИред

рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд╣реИ:

    "column name" "name"
1   4              5
2   2              1

рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде, рдЯрдХрд░рд╛рдиреЗ рдХреЗ рдЙрдкрд╛рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рдЕрдм рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ:

df.query(column_name > 3)

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

рдореБрдЭреЗ рдпрд╣ рднреА рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреЛ рдХреЛрдИ рдбреЗрдЯрд╛рдлреНрд░реЗрдо _in the wild_ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬреЛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

    "column name" "name" "column_name"
1   3              5     6
2   2              1     9

рдЬрд┐рд╕рдореЗрдВ рдЯрдХрд░рд╛рдиреЗ рд╕реЗ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд╕рдХрддреА рд╣реИред

рддреЛ, рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ, рдпрд╣ рдХрд┐рд╕реА рднреА рдЯрдХрд░рд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ рдФрд░ рдХреЙрд▓рдо рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реАрдХрд╛ рджреЗрддрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдо рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗрдВрдЧреЗред рдХреЗ рдмрд┐рдВрджреБ
рдкреАрдЖрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛,
рддреЛ рдЖрдЦрд┐рд░реА рдЙрджрд╛рд╣рд░рдг рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдмреБрдз, 23 рдЬрдирд╡рд░реА, 2019 10:56 рдкрд░ рд╣реВрдБ hwalinga [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рд╣реИ:

"column name" "name"

1 4 5
2 2 1

рд▓рд╛рдЧреВ рдХреА рдЧрдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде, рдЯрдХрд░рд╛рдиреЗ рдХреЗ рдЙрдкрд╛рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рдЕрдм рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ
рдХрд╣реЛ:

df.query(column_name > 3)

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

рдореБрдЭреЗ рдпрд╣ рднреА рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЬрдВрдЧрд▓реА рдореЗрдВ рдХреЛрдИ рдбреЗрдЯрд╛рдлреНрд░реЗрдо рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬреЛ рджрд┐рдЦрддрд╛ рд╣реИ
рдкрд╕рдВрдж:

"column name" "name" "column_name"

1 3 5 6
2 2 1 9

рдЬрд┐рд╕рдореЗрдВ рдЯрдХрд░рд╛рдиреЗ рд╕реЗ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛ рд╕рдХрддреА рд╣реИред

рддреЛ, рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ, рдпрд╣ рдХрд┐рд╕реА рднреА рдЯрдХрд░рд╛рд╡ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд░рд╛рд╕реНрддрд╛ рджреЗрддрд╛ рд╣реИ
рдХреЙрд▓рдо рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/pandas-dev/pandas/issues/6508#issuecomment-456880863 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/ABQHIkl6f9IgUGBKlzranZpsOe3atH3Aks5vGJQ7gaJpZM4Bl2In
.

@TomAugspurger рдареАрдХ рд╣реИ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИред

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

рдпрд╣ рд╕реАрдзреЗ рдПрдПрд╕рдЯреА . рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╣рдо рд░реАрдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ

рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ,

рдХреНрдпрд╛ рдХреЛрдИ рд╕рдордпрд░реЗрдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХрдм рдЬрд╛рд░реА рдХреА рдЬрд╛рдПрдЧреА?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред

рдпрд╣ 0.25 рдореЗрдВ рд╣реЛрдЧрд╛ - рдПрдХ рдпрд╛ рджреЛ рдорд╣реАрдиреЗ рдореЗрдВ рдЬрд╛рдВрдЪ

рдордЬрд╝рд╛ рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдирд┐рд░рд╛рд╢рд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП: рдкрд╛рдВрдбрд╛ 0.25 рдХреЗрд╡рд▓ рдкрд╛рдпрдерди 3 рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛ред рдпрд╣ рднреА рджреЗрдЦреЗрдВ https://pandas-docs.github.io/pandas-docs-travis/install.html#install -dropping-27

@jreback рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ 0.25.0 рдореАрд▓ рдХрд╛ рдкрддреНрдерд░ 1 рдордИ рдХреЛ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

@hwalinga рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ Python3 рдХреЛрдбрдмреЗрд╕ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛ рдЬрд┐рд╕рдореЗрдВ рдмрд┐рдВрджреБ рд╡рд╛рд▓реЗ рд╕реНрддрдВрдн рдирд╛рдо рдХреЛ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреАред рдЗрд╕реЗ рдХреНрдпреЛрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛?

@danielhrisca

рдореИрдВрдиреЗ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдФрд░ рд╣рдордиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛ред рдЖрдк рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреБрд░рдХреНрд╖рдХ рд╣реИрдВ, рдХрд┐ рдЗрд╕рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИред

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

@рд╣рд╡рд▓рд┐рдВрдЧ рд╣рд╛рдп
рдореБрдЭреЗ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдмрд┐рдВрджреБ рд╣реИ

snv_df.query('Gene.refGene in ["MSH2","MSH3","MLH1","MLH3","MSH6","PMS2","PMS3"]'

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

comsic=comsic\x3dxxxxxxxxxxxxxxxxxxx

рдкрд╛рд░реНрд╕ рдХрд░рддреЗ рд╕рдордп рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддреАрдХреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

@zhaohongqiangsoliva

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

@рд╣рд╡рд▓рд┐рдВрдЧрд╛
рдорд╛рдл рдХреАрдЬрд┐рдПрдЧрд╛ рдореЗрд░реА рдЕрдВрдЧреНрд░реЗрдЬреА рдЕрдЪреНрдЫреА рдирд╣реА рд╣реИред рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЗ рдмреАрдЪ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреА рд╕рдорд╕реНрдпрд╛ рдЕрдм рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдкреНрд░рддреАрдХ рдЕрднреА рднреА рд╣рд▓ рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

.      /           \     

рдФрд░ рдореИрдВ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рджреЗрддрд╛ рд╣реВрдВ Hex . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ

рдореИрдВ рдЗрд╕реЗ рдЕрдкрдиреА рд╕рд╣рдорддрд┐ рджреЗрддрд╛ рд╣реВрдБред рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдореЗрдВ рдХрд┐рд╕реА рднреА рд╡рд░реНрдг рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред

рдзрдиреНрдпрд╡рд╛рджред

рдЬреВрди 22, 2019 18:01 рдкрд░ рдкрд░, zhaohongqiangsoliva [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

@рд╣рд╡рд▓рд┐рдВрдЧ https://github.com/hwalinga
рдорд╛рдл рдХреАрдЬрд┐рдПрдЧрд╛ рдореЗрд░реА рдЕрдВрдЧреНрд░реЗрдЬреА рдЕрдЪреНрдЫреА рдирд╣реА рд╣реИред рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреЙрд▓рдо рдирд╛рдореЛрдВ рдХреЗ рдмреАрдЪ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреА рд╕рдорд╕реНрдпрд╛ рдЕрдм рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдкреНрд░рддреАрдХ рдЕрднреА рднреА рд╣рд▓ рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

. / \
рдФрд░ рдореИрдВ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрди рджреЗрддрд╛ рд╣реВрдВ Hex . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ https://github.com/pandas-dev/pandas/issues/6508?email_source=notifications&email_token=AA5U7NAIAJXVHI7LYXNCGNDP33DO5A5CNFSM4AMXMIT2YXHY3PNVWWK3TUL52HS4DFWW63GODMVVV рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди/рдЕрдирд╕рдмреНрд╕рдХреНрд░рд╛рдЗрдм-рдСрде/AA5U7NCACMBXVVQT7Z4DUE3P33DO5ANCNFSM4AMXMITQ ред

@dgua @zhaohongqiangsoliva

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

рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рдореБрдЭреЗ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдЯреИрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЛ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рд╕рдордЭрд╛рдКрдВрдЧрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

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

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

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

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

amelio-vazquez-reina picture amelio-vazquez-reina  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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