рдЪреВрдВрдХрд┐ рд╣рдо рдЕрдм рдЕрдЬрдЧрд░ 3.5 рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдм рд╣рдо рдкреБрд░рд╛рдиреЗ .format()
(рдФрд░ рдЬрд╛рд╣рд┐рд░ рддреМрд░ рдкрд░ %
рд╕реНрд╡рд░реВрдкрдг) рдХреЗ рдмрдЬрд╛рдп рдирдП f-strings рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрдкрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рд╕рдВрджреЗрд╢ рдореЗрдВ рд▓рд┐рдВрдХ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ, рдмрд╕ рдЗрд╕ https://github.com/pandas-dev/pandas/issues/29547
рдХреЛ рдЕрдкрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рд╕рдВрджреЗрд╢ рдореЗрдВ рдЪрд┐рдкрдХрд╛рдПрдВред
рдпрджрд┐ рдЖрдкрдХреА рдХреЛрдИ рдмрджрд▓реА рд╣реБрдИ рдлрд╝рд╛рдЗрд▓ #29886 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЛ рдЙрд╕ рдореБрджреНрджреЗ рд╕реЗ рднреА рд▓рд┐рдВрдХ рдХрд░рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ, рдмрд╕ рдЗрд╕ https://github.com/pandas-dev/pandas/issues/29886
рдХреЛ рдЕрдкрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧ рд╕рдВрджреЗрд╢ рдореЗрдВ рднреА рдЪрд┐рдкрдХрд╛рдПрдБред
рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рджреЛрд╣рд░рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдпрджрд┐ рдХреЛрдИ рдлрд╝рд╛рдЗрд▓/рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬрд┐рд╕реЗ рд╣реЛ рдЧрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдХреЗ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ pandas
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрднреА рднреА рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
grep -l -R '%s' --include=*.{py,pyx} pandas/
grep -l -R '%d' --include=*.{py,pyx} pandas/
grep -l -R '\.format(' --include=*.{py,pyx} pandas/
рдЙрдкрд░реЛрдХреНрдд рд╕рднреА рдХреЛ рдПрдХ рд▓рд╛рдЗрдирд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
grep -l -R -e '%s' -e '%d' -e '\.format(' --include=*.{py,pyx} pandas/
рдпрджрд┐ рдЖрдк рдШрдЯрдирд╛ рдХреА рдкрдВрдХреНрддрд┐ рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ -l
рдХреЛ -n
рдмрджрд▓реЗрдВ
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
grep -n -R '%s' --include=*.{py,pyx} pandas/
[ ] рдкрд╛рдВрдбрд╛/compat/pickle_compat.py
[ ] рдкрд╛рдВрдбрд╛/_config/config.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд╕рд░рдгреА/datetimelike.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд╕рд░рдгреА/datetimes.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд╕рд░рдгреА/integer.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд╕рд░рдгреА/рдкреАрд░рд┐рдпрдб.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдЧрдгрдирд╛/pytables.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/config_init.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдлреНрд░реЗрдо.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдЬреЗрдиреЗрд░рд┐рдХ.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдЧреНрд░реБрдкрдмреА/рдЬреЗрдиреЗрд░рд┐рдХ.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдЧреНрд░реБрдкрдмреА/рдЧреНрд░реБрдкрдмрд╛рдИ.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/base.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдЗрдВрдбреЗрдХреНрд╕/рдорд▓реНрдЯреА.рдкреАрдИ
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдЗрдВрдбреЗрдХреНрд╕/рд░реЗрдВрдЬ.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдСрдкреНрд╕/docstrings.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдСрдкреНрд╕/__init__.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/рдорд░реНрдЬ.py
[ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдЯреВрд▓реНрд╕/datetimes.py
[ ] рдкрд╛рдВрдбрд╛/io/formats/css.py
[ ] рдкрд╛рдВрдбрд╛/io/formats/excel.py
[ ] рдкрд╛рдВрдбрд╛/io/formats/format.py
[ ] рдкрд╛рдВрдбрд╛/io/formats/html.py
[ ] рдкрд╛рдВрдбрд╛/io/formats/info.py
[ ] рдкрд╛рдВрдбрд╛/io/formats/latex.py
[ ] рдкрд╛рдВрдбрд╛/io/formats/printing.py
[ ] рдкрд╛рдВрдбрд╛/io/formats/style.py
[ ] рдкрд╛рдВрдбрд╛/io/parsers.py
[ ] рдкрд╛рдВрдбрд╛/рдЖрдИрдУ/pytables.py
[ ] рдкрд╛рдВрдбрд╛/io/sas/sas_xport.py
[ ] рдкрд╛рдВрдбрд╛/io/stata.py
[ ] рдкрд╛рдВрдбрд╛/_libs/tslibs/c_timestamp.pyx
[ ] рдкрд╛рдВрдбрд╛/_libs/tslibs/frequencies.pyx
[ ] рдкрд╛рдВрдбрд╛/_libs/tslibs/parsing.pyx
[ ] рдкрд╛рдВрдбрд╛/_libs/tslibs/period.pyx
[ ] рдкрд╛рдВрдбрд╛/_libs/tslibs/strptime.pyx
[ ] рдкрд╛рдВрдбрд╛/_libs/tslibs/timedeltas.pyx
[ ] рдкрд╛рдВрдбрд╛/рдкреНрд▓реЙрдЯрд┐рдВрдЧ/_matplotlib/converter.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рд░рдгреА/рд╢реНрд░реЗрдгреАрдмрджреНрдз/test_operators.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рд░рдгреА/test_datetimelike.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/dtypes/test_dtypes.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╡рд┐рд╕реНрддрд╛рд░/рдЖрдзрд╛рд░/setitem.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_constructors.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_missing.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_to_csv.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЧреНрд░реБрдкрдмрд╛рдп/рдПрдЧреНрд░реАрдЧреЗрдЯ/test_other.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдбреЗрдЯрд╛рдЯрд╛рдЗрдореНрд╕/test_date_range.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдбреЗрдЯрд╛рдЯрд╛рдЗрдореНрд╕/test_datetime.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдбреЗрдЯрд╛рдЯрд╛рдЗрдореНрд╕/test_formats.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдбреЗрдЯрд╛рдЯрд╛рдЗрдореНрд╕/test_partial_slicing.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдЕрдВрддрд░рд╛рд▓/test_constructors.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдЕрдВрддрд░рд╛рд▓/test_interval.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдмрд╣реБ/test_format.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдЕрд╡рдзрд┐/test_formats.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/test_base.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/timedeltas/test_timedelta.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордг/test_categorical.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордг/test_coercion.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдПрдХреНрд╕реЗрд▓/test_openpyxl.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдПрдХреНрд╕реЗрд▓/test_writers.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкреНрд░рд╛рд░реВрдк/test_format.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкреНрд░рд╛рд░реВрдк/test_printing.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/formats/test_style.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкреНрд░рд╛рд░реВрдк/test_to_csv.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/formats/test_to_html.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкреНрд░рд╛рд░реВрдк/test_to_latex.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_compression.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_encoding.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_header.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_parse_dates.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_usecols.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/test_html.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/test_sql.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/test_stata.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдХрдЯреМрддреА/test_reductions.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлрд┐рд░ рд╕реЗ рдЖрдХрд╛рд░ рджреЗрдирд╛/test_concat.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлрд┐рд░ рд╕реЗ рдЖрдХрд╛рд░ рджреЗрдирд╛/test_melt.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕реНрдХреЗрд▓рд░/рдЕрд╡рдзрд┐/test_period.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕реНрдХреЗрд▓рд░/рдЯрд╛рдЗрдордбреЗрд▓реНрдЯрд╛/test_timedelta.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕реНрдХреЗрд▓рд░/рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк/test_constructors.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЕрдиреБрдХреНрд░рдордг/test_numeric.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЕрдиреБрдХреНрд░рдордг/test_take.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЕрдиреБрдХреНрд░рдордг/test_where.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рддрд░реАрдХреЗ/test_rename.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_api.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_constructors.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_datetime_values.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_repr.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/test_strings.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЙрдкрдХрд░рдг/test_to_datetime.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЫреБрдЯреНрдЯреА/test_calendar.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЫреБрдЯреНрдЯреА/test_holiday.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/tslibs/test_parsing.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЙрдкрдпреЛрдЧ/test_assert_frame_equal.py
[ ] рдкрд╛рдВрдбрд╛/tseries/frequencies.py
[ ] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕.py
[ ] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_test_decorators.py
[ ] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_validators.py
[ ] рдкрд╛рдВрдбрд╛/_version.py
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд/рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ рдХрд╛рд░рдг рд╕реВрдЪреА рдмрджрд▓ рд╕рдХрддреА рд╣реИред
рдЗрд╕ рдкреАрдЖрд░ рд╕реЗ рдЗрдирд╣реЗрд░рд┐рдЯ рдХреА рдЧрдИ рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдХрдорд╛рдВрдбред
рдореИрдВ рд▓реЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ:
[x] рдкрд╛рдВрдбрд╛/_libs/groupby.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/hashing.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/index.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/internals.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/interval.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/lib.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/ops.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/parsers.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/reduction.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/sparse.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/testing.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslib.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/window.pyx
рдореИрдВ рд▓реВрдВрдЧрд╛:
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ рдпрд╣ рдареАрдХ рд╣реИ!
рдирдорд╕реНрддреЗ @MomIsBestFriend рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрдкрдХрд░рдг рд╕реБрдЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ? рдПрдХ рддреНрд╡рд░рд┐рдд рдирдЬрд╝рд░ рдиреЗ рдореБрдЭреЗ рдпреЗ рджрд┐рдпрд╛:
рдореБрдЭреЗ рдЙрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдпрд╣рд╛рдБ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рд╣реИрд▓реЛ @SaturnFromTitan , рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХрднреА-рдХрднреА pyupgrad рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛
рдЬрдм рд╡реЗ рдмрд╣реБрдд рд╕рд╛рд░реА рдШрдЯрдирд╛рдУрдВ рд╡рд╛рд▓реА рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрддреА рд╣реИрдВ рддреЛ рдореИрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ "рдЬрдЯрд┐рд▓" рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реВрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП '%.2f' % my_float
) рдФрд░ рдЗрд╕реЗ рдЖрдо рд▓реЛрдЧреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рджреЗрдВ, рдЖрдорддреМрд░ рдкрд░ рдпрд╣ рд╕рд╣реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд╛рде рд╣реА, рдХреБрдЫ рдкрд░рд┐рд╡рд░реНрддрди рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЧреИрд░ pep8 рд╕рдВрдЧрдд рдмрдирд╛ рджреЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рднреА рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЖрдЧреЗ рд▓реЗ рдЬрд╛рдПрдЧрд╛:
[x] рдкрд╛рдВрдбрд╛/рдХрдВрдкреИрдЯ/__init__.py
[x] рдкрд╛рдВрдбрд╛/рдХреЙрдореНрдкреИрдЯ/numpy/function.py
[x] рдкрд╛рдВрдбрд╛/рдХреЙрдореНрдкреИрдЯ/numpy/__init__.py
[x] рдкрд╛рдВрдбрд╛/рдХреЙрдореНрдкреИрдЯ/_Optional.py
рдореИрдВ рд▓реВрдВрдЧрд╛:
рдЗрд╕реЗ good first issue
рд░реВрдк рдореЗрдВ рдЯреИрдЧ рдХрд░рдиреЗ рдкрд░ рд╕рднреА рдХреЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ? рдпрд╣ рдпрд╣рд╛рдВ рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрд┐рди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЗрд╡рд▓ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдпрд╛ рдЗрддрдиреЗ рд╣реА рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рд░рд╣рд╛ рд╣реИ рдЙрд╕реЗ рдХреЛрдб рдХреЗ рдЕрдиреНрдп рднрд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рд╕рдорд╛рди рд╣реИ)ред
рдореИрдВ #реиреорепреирем рдХреЗ рд╕рдорд╛рди рдПрдХ рд╕реЗрдЯрдЕрдк рдЪрд┐рддреНрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдПрдл-рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛:
рд░реЗрдлрд░реА #реирепренрежрез
рдЖрдЧреЗ рд▓реЗ рдЬрд╛рдПрдЧрд╛:
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/conversion.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/c_timestamp.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/fields.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/nattype.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/np_datetime.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/offsets.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/parsing.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/timestamps.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/timezones.pyx
[x] рдкрд╛рдВрдбрд╛/_libs/tslibs/tzconversion.pyx
рдореИрдВ рд▓реВрдВрдЧрд╛
рд░реЗрдлрд░реА #реирепренреорез
рдореИрдВ рд▓реВрдВрдЧрд╛:
- [x] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/concat.py
- [x] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/рдореЗрд▓реНрдЯ.py
- [ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/рдорд░реНрдЬ.py
- [x] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/рдкрд┐рд╡реЛрдЯ.py
- [x] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/рд░реАрд╢реЗрдк.py
- [ ] рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/рдЯрд╛рдЗрд▓.py
рдЗрд╕реЗ
good first issue
рд░реВрдк рдореЗрдВ рдЯреИрдЧ рдХрд░рдиреЗ рдкрд░ рд╕рднреА рдХреЗ рдХреНрдпрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ? рдпрд╣ рдпрд╣рд╛рдВ рдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрд┐рди рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдкреНрд░рддрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЗрд╡рд▓ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдпрд╛ рдЗрддрдиреЗ рд╣реА рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЬреЛ рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХрд░ рд░рд╣рд╛ рд╣реИ рдЙрд╕реЗ рдХреЛрдб рдХреЗ рдЕрдиреНрдп рднрд╛рдЧреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЕрдВрддрд┐рдо рдХрд╛рд░реНрдп рд╕рдорд╛рди рд╣реИ)редрдореИрдВ #реиреорепреирем рдХреЗ рд╕рдорд╛рди рдПрдХ рд╕реЗрдЯрдЕрдк рдЪрд┐рддреНрд░рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ ive рддрджрдиреБрд╕рд╛рд░ рд▓реЗрдмрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдзрдиреНрдпрд╡рд╛рдж
рдЕрдЧрд▓рд╛ рд▓реЗрдирд╛:
[x] рдкрд╛рдВрдбрд╛ / io / msgpack / _packer.pyx
[x] рдкрд╛рдВрдбрд╛ / io / msgpack / _unpacker.pyx
[x] рдкрд╛рдВрдбрд╛ / io / sas / sas.pyx
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЕрднреА рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдореИрдВ рдЕрднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
grep -n -R -e '%s' -e '%d' -e '.format(' --include=*.{py,pyx} рдкрд╛рдВрдбрд╛/
рдХрд┐рд╕реА рднреА рдкреБрд░рд╛рдиреЗ рд╕реНрд╡рд░реВрдкрдг рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВ рдХреНрд╖рдорд╛рдкреНрд░рд╛рд░реНрдереА рд╣реВрдВ
рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЕрднреА рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рдореИрдВ рдЕрднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
@ForTimeBeing рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкреЛрд╕реНрдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛, рдЦреБрд╢реА рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛ :)
рдХреНрдпрд╛ рдЖрдк рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ? рдмрд╕ рдЕрдЧрд░ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред
рдЬрд╝рд░реВрд░, рдореИрдВрдиреЗ рд▓рд┐рдпрд╛;
рдФрд░ рдиреАрдЪреЗ
.format рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ рдФрд░ grep рдЦреЛрдЬ рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди fstring рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╢рд╛рдмреНрджрд┐рдХ рдирд╣реАрдВ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ рдпрд╛ рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд░рдЦреЗрдВ, рд▓реЗрдХрд┐рди рд╕рднреА рдЕрдХреНрд╖рд░ fstring рдЕрдм рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓ рджрд┐рдП рдЧрдП рд╣реИрдВред
.format рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ рдФрд░ grep рдЦреЛрдЬ рдореЗрдВ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди fstring рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╢рд╛рдмреНрджрд┐рдХ рдирд╣реАрдВ рд╣реИред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ рдпрд╛ рдЬреИрд╕рд╛ рд╣реИ рд╡реИрд╕рд╛ рд╣реА рд░рдЦреЗрдВ, рд▓реЗрдХрд┐рди рд╕рднреА рдЕрдХреНрд╖рд░ fstring рдЕрдм рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓ рджрд┐рдП рдЧрдП рд╣реИрдВред
@рдЕрднреА рдХреЗ рд▓рд┐рдП
рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ:)
рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :)
рдореИрдВрдиреЗ рд▓рд┐рдпрд╛
рд░реЗрдлрд░реА #29952
рдореИрдВ рд▓реВрдВрдЧрд╛:
[x] рд╕реАрдЖрдИ/рдкреНрд░рд┐рдВрдЯ_рд╕реНрдХрд┐рдкреНрдб.py
[x] doc/make.py
[x] doc/sphinxext/announce.py
[x] doc/sphinxext/contributors.py
рдкрд░ рдХрд╛рдо рдХрд░рдирд╛: 'pandas/core/dtypes/dtypes.py'
рд▓рд┐рдпрд╛:
рд░реЗрдлрд░реА: #рейрежрезрезрем, #рейрежрезрейрел, #рейрежрейремрей
рдореИрдВ рд▓реВрдВрдЧрд╛:
рдореБрдЭреЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рддрд╛рд░реЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдореБрдЭреЗ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВред
рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЖрдкрдиреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреИрд╕реЗ:
THE_MESSAGE = "рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрджреЗрд╢ред Arg1: {arg1}, Arg2: {arg2}ред"
рдЬрд┐рд╕реЗ .format() рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ:
THE_MESSAGE.format(arg1_str, arg2_str)ред
рдХреНрдпрд╛ рдореИрдВ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ?
THE_MESSAGE = рд▓реИрдореНрдмреНрдбрд╛ arg1, arg2: f"рддрд░реНрдХреЛрдВ рд╡рд╛рд▓рд╛ рд╕рдВрджреЗрд╢ред Arg1: {arg1}, Arg2: {arg2}ред"
рдФрд░ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ
THE_MESSAGE(arg1_str, arg2_str)?
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ :)
рдореБрдЭреЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рддрд╛рд░реЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдкреЗрдк 498 рдмрддрд╛рддрд╛ рд╣реИ:
рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ f-рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд░рди рдЯрд╛рдЗрдо рдкрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдореЗрдВ .format()
рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕ рд╕рдордп рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ string.Template
stdlib рд╕реЗ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред
@jbrockmendel рдХреНрдпрд╛ рдЖрдк рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
@MomIsBestFriend рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдУрд╡рд░рдХрд┐рд▓ рд╣реИ?
@MomIsBestFriend рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдХреБрдЫ .format
s рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реИ
@MomIsBestFriend рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реИрдореНрдмреНрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдУрд╡рд░рдХрд┐рд▓ рд╣реИ?
рдореИрдВ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реВрдВ, рдХреГрдкрдпрд╛ рдХрд┐рд╕реА рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рдкреВрдЫреЗрдВред
рд▓рд┐рдпрд╛
рд░реЗрдлрд░реА #30120
рд▓рд┐рдпрд╛
рд░реЗрдлрд░реА #рейрежрезреирез
рд▓рд┐рдпрд╛
рд░реЗрдлрд░реА #30124
рдореИрдВ рд▓реВрдВрдЧрд╛
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
рд▓реЗ рд░рд╣рд╛:
[x] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_depr_module.py
[x] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_doctools.py
[x] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_print_versions.py
[x] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_test_decorators.py
[x] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_tester.py
[x] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/рдкрд░реАрдХреНрд╖рдг.py
[x] рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_validators.py
рдореИрдВ рд▓реВрдВрдЧрд╛
рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВ рд▓реВрдВрдЧрд╛:
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рд╛рдЬрд┐рд╢ рдХрд░рдирд╛/test_converter.py
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рд╛рдЬрд┐рд╢ рдХрд░рдирд╛/test_datetimelike.py
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдкреНрд▓реЙрдЯрд┐рдВрдЧ/test_series.py
рдореИрдВ рд▓реВрдВрдЧрд╛
рдирдорд╕реНрдХрд╛рд░, @MomIsBestFriend
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рд╛рдЬрд┐рд╢ рдХрд░рдирд╛/test_converter.py
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рд╛рдЬрд┐рд╢ рдХрд░рдирд╛/test_datetimelike.py
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдкреНрд▓реЙрдЯрд┐рдВрдЧ/test_series.py
рдкреВрд░реЗ рд╣реЛ рдЧрдП рд╣реИрдВред рдзрдиреНрдпрд╡рд╛рджред
рдирдорд╕реНрддреЗ
рдореИрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВрдБ
рдзрдиреНрдпрд╡рд╛рдж
рд╣реИрд▓реЛ, рдореИрдВ рд▓реВрдВрдЧрд╛
рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВрдиреЗ рд▓рд┐рдпрд╛:
pandas/core/missing.py
pandas/core/nanops.py
pandas/tests/indexes/datetimes/test_partial_slicing.py
рдореЗрд░реЗ рдЬрдирд╕рдВрдкрд░реНрдХ рдХрд╛ рд▓рд┐рдВрдХ: https://github.com/pandas-dev/pandas/pull/30278
рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛:
рдпрд╣рд╛рдБ "рдЕрдЪреНрдЫрд╛ рдкрд╣рд▓рд╛ рдореБрджреНрджрд╛" рдЯреИрдЧ рдХреЗ рдХрд╛рд░рдг
рдореИрдВ рд▓реВрдВрдЧрд╛:
[ ] рдкрд╛рдВрдбрд╛/io/sql.py
[ ] рдкрд╛рдВрдбрд╛/io/stata.py
рдзрдиреНрдпрд╡рд╛рдж!
рдореИрдВ рдХрд░реВрдБрдЧрд╛:
рдореИрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛
рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕ рдкрд░ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рд╣реИ
рдмрдврд╝рд┐рдпрд╛, рд╣рдореЗрд╢рд╛ рдкрдВрдбреЛрдВ рдкрд░ рдЪрд┐рдк рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЬрдм рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдореИрдВ рдЕрдЧрд▓реЗ рдХреБрдЫ рд╣рдлреНрддреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛...
рдореИрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВрдБ
рдкрд╛рдВрдбрд╛/_version.py
рдкрд░ рдХреВрджрдирд╛:
рдореИрдВ pandas/io/formats/csvs.py рд▓реВрдВрдЧрд╛
рдореИрдВ рд▓реЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ:
рдкреНрд░рд╢реНрди: рдХреНрдпрд╛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЙрддреНрддрд░ рд╣реИ рдХрд┐ рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреБрд░рд╛рдиреЗ рд╕реНрдХреВрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрд╡рд░реВрдкрдг рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ?
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, series.map()
:
It also accepts a function:
>>> s.map('I am a {}'.format)
0 I am a cat
1 I am a dog
2 I am a nan
3 I am a rabbit
dtype: object
рдЗрд╕реЗ рдПрдл-рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рд╕реЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ:
>>> s.map(lambda x: f'I am a {x}')
0 I am a cat
1 I am a dog
2 I am a nan
3 I am a rabbit
dtype: object
рдЬреЛ рдПрдХ рд╕рдЯреАрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИ (рдПрдл-рд╕реНрдЯреНрд░рд┐рдВрдЧ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдПрдХ рдРрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реИрдореНрдмреНрдбрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ 'I am a'.format() ) рдХреЗ рд╢реБрджреНрдз рдкреНрд░рднрд╛рд╡ рдХреЛ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИ, рдФрд░ рдбрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд╛рдВрдЯреЗрджрд╛рд░ рдореБрджреНрджреЛрдВ рдХреЛ рдЙрдард╛рддрд╛ рд╣реИ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ-рд╕рд░реНрд╡реЛрддреНрддрдо-рдкреНрд░рдерд╛рдПрдБред
рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рд▓рдВрдмрд┐рдд рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдирд┐рд░реНрдгрдп рдХреЗ рд░реВрдк рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдмрджрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдкрд╣рд▓реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ (рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд┐ рдХрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛):
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рд░рдгреА/рдЕрдВрддрд░рд╛рд▓/test_ops.py
рдореИрдВ рднреА рд▓реВрдВрдЧрд╛
рдкреНрд░рд╢реНрди: рдХреНрдпрд╛ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдЙрддреНрддрд░ рд╣реИ рдХрд┐ рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреБрд░рд╛рдиреЗ рд╕реНрдХреВрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрд╡рд░реВрдкрдг рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ?
cc @WillAyd @jreback
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдк "рдкреБрд░рд╛рдиреЗ-рд╕реНрдХреВрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рд░реВрдк" рдХреЛ рдХреНрдпрд╛ рдорд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди .format
рдореЗрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реЛрдВрдЧреЗ рдЬреЛ рдПрдл-рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдЕрд░реНрдерд╛рддреН рд╡рд┐рд▓рдВрдмрд┐рдд рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдЬреЗрд╢рди) рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЖрд╕рдкрд╛рд╕ рд╣реЛрдЧрд╛ . рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд╣реАрдВ рднреА Py27 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рд░реВрдк рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
рдореИрдВ рд▓реВрдВрдЧрд╛:
рдореИрдВ рд▓реВрдВрдЧрд╛
#рейрежремрежрез рдореЗрдВ, рдореИрдВрдиреЗ рд▓реЗ рд▓рд┐рдпрд╛ рд╣реИ
рдЕрдЧрд░ рдпрд╣ рдареАрдХ рд╣реИ рддреЛ рдореИрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреА рдЧрдИ рджреЛ рдлрд╛рдЗрд▓реЗрдВ рд▓реЗ рд╕рдХрддрд╛ рд╣реВрдВ!
рдпреЗ рдмрджрд▓рд╛рд╡ #30604 . рдореЗрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ
рдореБрдХрд╛рдмрд▓рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
рдХреНрдпрд╛ .format
рдкреБрд░рд╛рдиреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрдкрдпреЛрдЧреЛрдВ рдХреЛ рдиреЛрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдкрд╕рдВрджреАрджрд╛ рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдкреАрдЖрд░ рдореЗрдВ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? (рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ) рдорд╛рди рд▓реЗрдирд╛ рдХрд┐ рдХреБрдЫ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ PR . рдореЗрдВ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдХрд╛рдо рдкрд░
рдореИрдВ рд▓реВрдВрдЧрд╛
рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдФрд░ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:
рдореИрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛:
рдзрдиреНрдпрд╡рд╛рдж @HH-MWB
рдореИрдВ рд▓реЗ рдЬрд╛рдКрдБрдЧрд╛:
рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ @Appender()
рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП %
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡реЗ рдХреЛрдб рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ _shared_docs
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЬреНрдпрд╛рджрд╛рддрд░ /pandas/core/generic.py рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдореИрдВ рд╕рднреА _shared_docs
рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕реНрд╡рд░реВрдкрдг рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрд╡рд░реВрдкрдг рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рдкрд╛рдКрдВрдЧрд╛ред
рдХреНрдпрд╛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдореБрдЭреЗ рдпрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? @datapythonista @MomIsBestFriend
рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐
@Appender()
рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП%
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡реЗ рдХреЛрдб рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ_shared_docs
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЬреНрдпрд╛рджрд╛рддрд░ /pandas/core/generic.py рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредрдореИрдВ рд╕рднреА
_shared_docs
рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕реНрд╡рд░реВрдкрдг рдХреЛ рдмрджрд▓рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЗрд╕ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрд╡рд░реВрдкрдг рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рдкрд╛рдКрдВрдЧрд╛редрдХреНрдпрд╛ рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ? рдХреНрдпрд╛ рдореБрдЭреЗ рдпрд╣ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? @datapythonista @MomIsBestFriend
@ рдПрдЪрдПрдЪ-рдПрдордбрдмреНрд▓реНрдпреВрдмреА рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░ рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреЗрд░реЗрдмреИрдХ рдФрд░ рд╡рд┐рд▓рдПрдб рдФрд░ рдбреЗрдЯрд╛рдкреАрдереЛрдирд┐рд╕реНрдЯрд╛ (рдЯреИрдЧрд┐рдВрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛), рдореИрдВ рдЬрд┐рддрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЙрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЖрдкрдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ :)
рдЖрдк рдПрдкреЗрдВрдбрд░ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдПрдл-рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
Py27 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЬрдЧрд╣ .format рдХреЗ рд╕рд╛рде рдареАрдХ рд░рд╣реЗрдЧрд╛ рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рд▓рд╛рдпрдХ рд╣реИ
рдЖрдк рдПрдкреЗрдВрдбрд░ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдПрдл-рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
Py27 рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рдЬрдЧрд╣ .format рдХреЗ рд╕рд╛рде рдареАрдХ рд░рд╣реЗрдЧрд╛ рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рд▓рд╛рдпрдХ рд╣реИ
@WillAyd рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ string.Template
stdlib рд╕реЗ, рдпрд╣ рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реИред
рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?
рд╣рд╛рдп @WillAyd , рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд╣рд╛рдВ, рдореЗрд░рд╛ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ %
рдХреЛ .format
, рдФрд░ _shared_docs
рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ %(XXX)s
рдЬреИрд╕реЗ рдХреЛрдб рдХреЛ {XXX}
рд╕реЗ рдмрджрд▓ рд░рд╣рд╛ рдерд╛ред рдЬреИрд╕реЗ @MomIsBestFriend рдиреЗ рдХрд╣рд╛, string.Template
рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ рдЕрдзрд┐рдХ рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ред рдзрдиреНрдпрд╡рд╛рдж!
рдореБрдХрд╛рдмрд▓рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
рд░реЗрдлрд░реА #31412
@MomIsBestFriend рдирдорд╕реНрдХрд╛рд░! рдпрд╣рд╛рдВ рдкрд╣рд▓реА рдмрд╛рд░ рдУрдкрди-рд╕реЛрд░реНрд╕ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛! рдореИрдВ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдВ! рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛:
versioneer.py
web/pandas_web.py
рдзрдиреНрдпрд╡рд╛рдж!!
@drewseibert versioneer.py рд╡рд┐рдХреНрд░реЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ @MomIsBestFriend рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рднреНрд░рдо рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕реВрдЪреА рд╕реЗ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ
@jbrockmendel рд╕рд┐рд░ рдКрдкрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рджреВрд╕рд░реА рдлрд╝рд╛рдЗрд▓ рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ "web/pandas_web.py" рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рджреЛрдиреЛрдВ рдХреЛ рдХрд╛рд░реНрдп рд╕реВрдЪреА рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рд╛рде рд╣реА, рдЬрдм рдореИрдВ рдХрд┐рд╕реА рдкреНрд░рддрд┐рдмрджреНрдзрддрд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ 403 рдЕрдиреБрдорддрд┐рдпрд╛рдВ рддреНрд░реБрдЯрд┐ рдорд┐рд▓ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рдПрдХ SSH рдХреБрдВрдЬреА рдЬреЛрдбрд╝реА рдФрд░ рджреВрд░рд╕реНрде URL рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдПрд╕рдПрд╕рдПрдЪ рдпрд╛ рдПрдЪрдЯреАрдЯреАрдкреАрдПрд╕ рдХреЗ рд╕рд╛рде рдХреНрд▓реЛрди рдХрд░рддрд╛ рд╣реВрдВред рдХрд┐рд╕реА рднреА рдорджрдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ! рдзрдиреНрдпрд╡рд╛рдж!
@MomIsBestFriend рдирдорд╕реНрдХрд╛рд░! рдпрд╣рд╛рдВ рдкрд╣рд▓реА рдмрд╛рд░ рдУрдкрди-рд╕реЛрд░реНрд╕ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛! рдореИрдВ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдкреАрдЖрд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдВ! рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЛрдВ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛:
versioneer.py
web/pandas_web.py
рдзрдиреНрдпрд╡рд╛рдж!!
рдЧреБрдб рд▓рдХ @dreweibert
рдореИрдВ рд▓реВрдВрдЧрд╛:
рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/concat.py
рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдлрд┐рд░ рд╕реЗ рдЖрдХрд╛рд░ рджреЗрдирд╛/рдкрд┐рдШрд▓рдирд╛
рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/рдорд░реНрдЬ.py
рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/рдкрд┐рд╡реЛрдЯ.py
рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд░реАрд╢реЗрдк/рд░реАрд╢реЗрдк.py
рдЕрднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/test_pickle.py
рдирдорд╕реНрддреЗ
рдореИрдВ рд▓реВрдВрдЧрд╛
рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_print_versions.py
рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_test_decorators.py
https://github.com/pandas-dev/pandas/pull/31628 рдареАрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП :)
рдореИрдВ рд▓реВрдВрдЧрд╛ pandas/tests/frame/test_repr_info.py
рд░реЗрдлрд░реА: https://github.com/pandas-dev/pandas/pull/31639
рдЕрд░реЗ, рдореИрдВ рд▓реВрдВрдЧрд╛
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ...
web/pandas_web.py
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/test_pickle.py
рдзрдиреНрдпрд╡рд╛рдж!
рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ .. рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рд╕реА f-strings рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ:
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЕрдиреБрдХреНрд░рдордг/test_boolean.py
рдореИрдВ рдЕрдм рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ ...
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЕрдиреБрдХреНрд░рдордг/test_indexing.py
рдзрдиреНрдпрд╡рд╛рдж @dreweibert
рдХреНрдпрд╛ рдпрд╣рд╛рдВ рдЕрднреА рднреА рдХрд╛рдо рдмрд╛рдХреА рд╣реИ? рдореИрдВ рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ
@3vts рд╣рд╛рдВ, рдмрд┐рд▓реНрдХреБрд▓ :)
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЙрдкрдпреЛрдЧ/test_assert_extension_array_equal.py
LMK рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдХреБрдЫ рдореИрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ! рдпрд╣ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдУрдкрди рд╕реЛрд░реНрд╕ рдпреЛрдЧрджрд╛рди рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдХреБрдЫ рдорджрдж рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдореИрдВрдиреЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреАред
рдЖрдк рдореБрдЭреЗ рдХрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ?
@MomIsBestFriend рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ pandas/tests/util/test_assert_extension_array_equal.py
PR #30816 рдкрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╕рд╛рде рд╣реА, рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдХреНрдпрд╛ рдЖрдк рдореБрдЭреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднрд╛рд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ?
@3vts @GrizzledLabs - рдХреЛрдИ рднреА рдлрд╛рдЗрд▓ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдЬреЛ рдЕрднреА рддрдХ рдКрдкрд░ рдХреА рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рдХреА рдЧрдИ рд╣реИ (рдФрд░ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреЛрдИ рдФрд░ рдЙрд╕ рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ) - рдлрд┐рд░ рдпрд╣рд╛рдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ! рдзрдиреНрдпрд╡рд╛рдж !
рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд╕рд░рдгреА/рдмреВрд▓рд┐рдпрди.py рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рдпрд╛ рд╣реБрдЖ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдПрдХ f'string рджреЗрдЦрд╛ рдФрд░ рдирд╣реАрдВ .format(), рдЬрдм рддрдХ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдпрд╛рдж рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдкрд╛рдВрдбрд╛/рдХреЛрд░/dtypes/common.py рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред f'strings рд▓реЗрдХрд┐рди рдирд╣реАрдВред рдкреНрд░рд╛рд░реВрдк ()
рдХреНрдпрд╛ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рд╕реБрдзрд╛рд░ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдлреИрд▓реЗ рд╣реБрдП рд╣реИрдВ? рдХреБрдЫ рдореЗрдВ рдПрдХ .format() рдирд╣реАрдВ рд╣реИ, рдФрд░ рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рдлрд╝рдВрдХреНрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ? рдХреНрдпрд╛ рдПрдХ рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА?
рдирдорд╕реНрддреЗ, рдпрд╣рд╛рдБ рдкрд╣рд▓реА рдмрд╛рд░ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛! рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕рд╛рд╣рд┐рдд!
рд╢реБрд░реВ рдореЗрдВ рдореИрдВ рдЗрдиреНрд╣реЗрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛:
рдкрд╛рдВрдбрд╛/compat/pickle_compat.py
рдкрд╛рдВрдбрд╛/_config/config.py
рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрд╣ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╡рд┐рд▓рдп рд╣реЛ рдЧрдпрд╛ рд╣реИ, @MomIsBestFriend рдХреНрдпрд╛ рдЖрдк рд╕реВрдЪреА рдХреЛ рд╢реАрд░реНрд╖ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╣реЛ рдЧрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ
рдореИрдВ рдЗрдиреНрд╣реЗрдВ рд▓реВрдВрдЧрд╛:
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_usecols.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/pytables/conftest.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/pytables/test_store.py
[ ] рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/pytables/test_timezones.py
@MomIsBestFriend рдиреЗ рдереНрд░реЗрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реБрдП рдкрд╛рдпрд╛ рдХрд┐ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрд╡рд╛рдж рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ? рдпрд╛ рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реИред рдПрдХ рдЙрдкрд╛рдп?
рдореБрдЭреЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рддрд╛рд░реЛрдВ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реИред
рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдкреЗрдк 498 рдмрддрд╛рддрд╛ рд╣реИ:
рдирд┐рдпрдорд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрдХрд▓рди рд╕рдордп рдкрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ f-рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд░рди рдЯрд╛рдЗрдо рдкрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдореЗрдВ
.format()
рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИредрдЗрд╕ рд╕рдордп рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ
string.Template
stdlib рд╕реЗ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред@jbrockmendel рдХреНрдпрд╛ рдЖрдк рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдирдорд╕реНрддреЗ, рдкрд╣рд▓реА рдмрд╛рд░ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ ЁЯСЛред рдореИрдВ рд▓реВрдВрдЧрд╛:
@ monicaw218 , рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╢реБрд░реВ
рдЗрди рджреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реВрдЪреА рд╕реЗ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
рдореИрдВ
рдкрд╛рдВрдбрд╛/рдЖрдИрдУ/parsers.py
рдкрд╛рдВрдбрд╛/рдЖрдИрдУ/pytables.py
рдпреЗ рднреА рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рд╣реИрдВ:
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рдореВрд╣ рджреНрд╡рд╛рд░рд╛/test_apply.py
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рдореВрд╣ рджреНрд╡рд╛рд░рд╛/test_bin_groupby.py
рдпреЗ #31914 . рдХреЛ рддреИрдпрд╛рд░ рд╣реИрдВ
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдПрдХреНрд╕рдЯреЗрдВрд╢рди/рджрд╢рдорд▓рд╡/test_decimal.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/рдЕрдиреБрдХреНрд░рдордг/test_categorical.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/рд╡рд┐рдзрд┐рдпрд╛рдВ/test_describe.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/рд╡рд┐рдзрд┐рдпрд╛рдВ/test_duplicated.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/рд╡рд┐рдзрд┐рдпрд╛рдВ/test_to_dict.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_alter_axes.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_api.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_constructors.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_dtypes.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_join.py"
рдореИрдВ "pandas/io/sas/sas_xport.py" рд▓реВрдВрдЧрд╛ред
рдпреЗ #31933 . рдХреЛ рддреИрдпрд╛рд░ рд╣реИрдВ
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_operators.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_reshape.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_timeseries.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдбреЗрдЯрд╛рдЯрд╛рдЗрдореНрд╕/test_scalar_compat.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдбреЗрдЯрд╛рдЯрд╛рдЗрдореНрд╕/test_tools.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдЕрдВрддрд░рд╛рд▓/test_indexing.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдЕрдВрддрд░рд╛рд▓/test_interval.py"
рдпреЗ #31945 . рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдЕрдВрддрд░рд╛рд▓/test_setops.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдмрд╣реБ/test_compat.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/рдЕрд╡рдзрд┐/test_constructors.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛/timedeltas/test_constructors.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЕрдиреБрдХреНрд░рдордг/test_floats.py"
рдпреЗ #31963 . рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдВрддрд░рд┐рдХ/test_internals.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдПрдХреНрд╕реЗрд▓/test_readers.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдПрдХреНрд╕реЗрд▓/test_style.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдПрдХреНрд╕реЗрд▓/test_writers.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдПрдХреНрд╕реЗрд▓/test_xlrd.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкреНрд░рд╛рд░реВрдк/test_console.py"
"pandas/tests/io/formats/test_to_html.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкреНрд░рд╛рд░реВрдк/test_to_latex.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/generate_legacy_storage_files.py"
рдпреЗ #31967 . рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_c_parser_only.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_common.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_compression.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_encoding.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_multi_thread.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_na_values.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_parse_dates.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЖрдИрдУ/рдкрд╛рд░реНрд╕рд░/test_read_fwf.py"
"pandas/tests/io/pytables/conftest.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/pytables/test_store.py"
рдпреЗ #рейрезрепреореж . рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/pytables/test_timezones.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/test_html.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/io/test_stata.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдкреБрди: рдирдореВрдирд╛/test_period_index.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдкреБрди: рдЖрдХрд╛рд░ рджреЗрдирд╛/рд╡рд┐рд▓рдп/test_join.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдкреБрди: рдЖрдХрд╛рд░ рджреЗрдирд╛/рд╡рд┐рд▓рдп/test_merge.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдкреБрди: рдЖрдХрд╛рд░ рджреЗрдирд╛/рд╡рд┐рд▓рдп/test_merge_asof.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдкреБрди: рдЖрдХрд╛рд░ рджреЗрдирд╛/test_melt.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдкреБрди: рдЖрдХрд╛рд░ рджреЗрдирд╛/test_pivot.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕реНрдХреЗрд▓рд░/рдЯрд╛рдЗрдордбреЗрд▓реНрдЯрд╛/test_constructors.py"
рдпреЗ #31986 . рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕реНрдХреЗрд▓рд░/рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк/test_constructors.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕реНрдХреЗрд▓рд░/рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк/test_rendering.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕реНрдХреЗрд▓рд░/рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк/test_unary_ops.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рддрд░реАрдХреЗ/test_nlargest.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_analytics.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_api.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_dtypes.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_ufunc.py"
рдЗрд╕рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ https://github.com/pandas-dev/pandas/pull/32007 :
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_to_csv.py
рдпреЗ #32032 . рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/test_downstream.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/test_multilevel.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЙрдкрдХрд░рдг/test_numeric.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЖрд╡реГрддреНрддрд┐рдпрд╛рдВ/test_inference.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/tslibs/test_parse_iso8601.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЦрд┐рдбрд╝рдХреА/рдХреНрд╖рдг/test_moments_rolling.py"
рдпрд╣ рдлрд╝рд╛рдЗрд▓ #32029 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ:
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ https://github.com/pandas-dev/pandas/pull/32044
рдпреЗ #32034 . рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
"рдкрд╛рдВрдбрд╛/рдХреЛрд░/рд╕рд░рдгреА/interval.py"
"рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдЙрдкрдпреЛрдЧ/рд╣реИрд╢рд┐рдВрдЧ.py"
"pandas/io/formats/format.py"
"pandas/io/formats/html.py"
"pandas/io/formats/latex.py"
"pandas/io/formats/printing.py"
"pandas/io/parsers.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рд░рдгреА/рд╢реНрд░реЗрдгреАрдмрджреНрдз/test_dtypes.py"
"рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╕рд░рдгреА/рд╢реНрд░реЗрдгреАрдмрджреНрдз/test_operators.py"
рдпреЗ рдХрд┐рдП рдЧрдП рд╣реИрдВ ...
рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдСрдкреНрд╕/invalid.py
рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдСрдкреНрд╕/methods.py
рдкрд╛рдВрдбрд╛/рдХреЛрд░/рдСрдкреНрд╕/рд░реЛрдкрд░реЗрдЯрд░.py
#32063 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓реЗрдВ:
рдирдорд╕реНрддреЗ, рдореИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛/рдЪрд╛рд╣рддреА рд╣реВрдВ/validate_docstrings.py
рдлрд╝рд╛рдЗрд▓ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ #32189
рдХреНрдпрд╛ рдпрд╣ рдорд╕рд▓рд╛ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ? рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд╕реВрдЪреА рдореЗрдВ рдЕрдЪрд┐рд╣реНрдирд┐рдд рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ .format() рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
pandas//util/_decorators.py рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ рд▓рд╛рдЗрди рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИ рд╡рд╣ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╣реИ)
pandas//core/indexes/base.py рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рд╡рд┐рдлрд▓рддрд╛ рдлрд┐рд░ рд╕реЗ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рд╣реИ)
рдирдорд╕реНрддреЗ, рдореИрдВрдиреЗ pandas/core/generic.py рдХреЛ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ %
рд╕реЗ string.Template
рд╕рд╛рде рдЗрдВрдЯрд░рдкреЛрд▓реЗрдЯ рдХрд┐рдП рдЧрдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЬрдЧрд╣реЛрдВ рдкрд░ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдЬрд╣рд╛рдВ Substitute
+ Appender
рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк %
рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдХреЗ рд╕рднреА рдЙрдкрдпреЛрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддреЗ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рдпрд╛ рдЖрдк %
рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдХреЗ рдХреБрдЫ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдареАрдХ рд╣реИрдВ?
@smartvinnetou рдЬрдм Appender
рдФрд░ Substitute
рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рд╣рдо рдЕрдм рдЙрдиреНрд╣реЗрдВ doc
рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рджреЗрдЦреЗрдВ https://github.com/pandas-dev/pandas/issues/31942
@smartvinnetou рдЬрдм
Appender
рдФрд░Substitute
рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рд╣рдо рдЕрдм рдЙрдиреНрд╣реЗрдВdoc
рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рджреЗрдЦреЗрдВ #рейрезрепрекреи
@MomIsBestFriend рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдЯрд┐рдХрдЯ рдореЗрдВ pandas/core/generic.py
рдХреЗ рдЕрдкрдЧреНрд░реЗрдб рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ #31942 рдХреЗ рддрд╣рдд рдХрд░рддреЗ рд╣реИрдВ? рдпрд╛ рдореБрдЭреЗ рдкреБрд░рд╛рдиреЗ %
рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЯрд┐рдХрдЯ рдХреЗ рддрд╣рдд Appender
рдФрд░ Subtitute
рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХреЛ generic.py
рдореЗрдВ рдЖрдкрдХреЗ рдирдП doc
рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕реЗ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП?
@smartvinnetou рдЬрдм
Appender
рдФрд░Substitute
рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рд╣рдо рдЕрдм рдЙрдиреНрд╣реЗрдВdoc
рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рджреЗрдЦреЗрдВ #рейрезрепрекреи@MomIsBestFriend рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдЯрд┐рдХрдЯ рдореЗрдВ
pandas/core/generic.py
рдХреЗ рдЕрдкрдЧреНрд░реЗрдб рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ #31942 рдХреЗ рддрд╣рдд рдХрд░рддреЗ рд╣реИрдВ? рдпрд╛ рдореБрдЭреЗ рдкреБрд░рд╛рдиреЗ%
рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЯрд┐рдХрдЯ рдХреЗ рддрд╣рддAppender
рдФрд░Subtitute
рдбреЗрдХреЛрд░реЗрдЯрд░реНрд╕ рдХреЛgeneric.py
рдореЗрдВ рдЖрдкрдХреЗ рдирдПdoc
рдбреЗрдХреЛрд░реЗрдЯрд░ рд╕реЗ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП?
@smartvinnetou #31942 рдХреЗ рддрд╣рдд pandas/core/generic.py
рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ (рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭ рдЧрдпрд╛)
рдирдорд╕реНрддреЗ, рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╛рдЗрд▓реЗрдВ рдорд┐рд▓реАрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдпрд╛ рддреЛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдпрд╛ рдЬрд┐рдирдореЗрдВ рдХрд┐рд╕реА рдмрджрд▓рд╛рд╡ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдмрд╕ рдпрд╣ рдкреВрдЫрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИ рдФрд░ рдЧрд▓рддреА рд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рд╣реБрдИ рд╣реИ рдпрд╛ рдЖрдк рд▓реЛрдЧ рдЕрднреА рднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдЧрд░ рдпрд╣ рд╣рд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рднреА рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдпреЗ рдХреБрдЫ рдРрд╕реА рдлрд╛рдЗрд▓реЗрдВ рдереАрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд▓реЗрдХрд┐рди рдЪрд┐рд╣реНрдирд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛
@ sachinh35 рдореИрдВрдиреЗ рд╕реВрдЪреА рдЕрдкрдбреЗрдЯ рдХрд░ рджреА рд╣реИ :)
рдЯреНрд░реИрдХ рд░рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рдЧрдпрд╛
рд╕реВрдЪреА рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! @MomIsBestFriend
рдореИрдВ pandas/core/ops/
рдЕрдВрддрд░реНрдЧрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП #32939 рдХреЗ рд╕рд╛рде рдпреЛрдЧрджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ рдбреЙрдХрд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/pandas-dev/pandas/blob/master/pandas/core/ops/docstrings.py#L564 рдЬрд┐рдиреНрд╣реЗрдВ рдХрднреА-рдХрднреА рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рднреА рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд▓рдкреЗрдЯрдирд╛?
рдореИрдВ рдмрджрд▓ рдЧрдпрд╛
рджреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛:
рдкрд╛рдВрдбрд╛/_libs/tslibs/timedeltas.pyx
рдкрд╛рдВрдбрд╛/_libs/tslibs/timestamps.pyx
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереАред рдЖрдк рд╣реЛ рдЧрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдкрд╛рдВрдбрд╛/_libs/tslibs/c_timestamp.pyx
рдкрд╛рдВрдбрд╛/_libs/tslibs/frequencies.pyx
рдкрд╛рдВрдбрд╛/_libs/tslibs/parsing.pyx
рдкрд╛рдВрдбрд╛/_libs/tslibs/period.pyx
рдкрд╛рдВрдбрд╛/_libs/tslibs/strptime.pyx
рдиреЛрдЯ: рдпрд╣ рдореЗрд░рд╛ рдЕрдм рддрдХ рдХрд╛ рдкрд╣рд▓рд╛ рдкреАрдЖрд░ рд╣реИред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдХреБрдЫ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдореИрдВрдиреЗ рд╕реВрдЪреА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╖рдп рдкрдврд╝рд╛ рд╣реИ + рдХреБрдЫ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред
(рдХреБрдЫ рднреА рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ):
рдореИрдВрдиреЗ pandas/util/_validators.py
рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрд╛ред рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдЕрдиреНрдп рдлрд╛рдЗрд▓реЗрдВ рдореБрдЭреЗ рднреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдареАрдХ рд▓рдЧрддреА рд╣реИрдВред
рд╣рд╛рдп рдорд╛рдЯреЗрдУ,
рдореБрдЭреЗ рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЧрд┐рдЯ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВ рдФрд░
рдкрд╛рдВрдбрд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рдиред рдХреНрдпрд╛ рдЖрдк рд╕рдВрднрд╡рддрдГ рдореЗрд░реЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЪрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ
рдХрджрдо ? рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдПрдХ рд╕реНрдХреНрд░реАрди рд╢реЗрдпрд░ рд╕реЗрдЯрдЕрдк рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдзрдиреНрдпрд╡рд╛рдж,
рдПрдВрдбреНрд░рдпреВ
рдордВрдЧрд▓рд╡рд╛рд░, 26 рдордИ, 2020, рджреЛрдкрд╣рд░ 3:12 рдмрдЬреЗ рдордЯреЗрдУ рд╕рдВрддрд╛рдорд╛рд░рд┐рдпрд╛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:
рдореИрдВрдиреЗ рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_validators.py рдХрд╛ рдЦреНрдпрд╛рд▓ рд░рдЦрд╛ред рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ
рдореБрдЭреЗ рднреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИред
- рдкрд╛рдВрдбрд╛/рдЙрдкрдпреЛрдЧ/_test_decorators.py
- рдкрд╛рдВрдбрд╛/tseries/frequencies.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЙрдкрдпреЛрдЧ/test_assert_frame_equal.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/tslibs/test_parsing.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЫреБрдЯреНрдЯреА/test_holiday.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЫреБрдЯреНрдЯреА/test_calendar.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдЙрдкрдХрд░рдг/test_to_datetime.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/test_strings.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_repr.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_datetime_values.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_constructors.py
- рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/test_api.py
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдереНрд░реЗрдб рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/pandas-dev/pandas/issues/29547#issuecomment-634307953 ,
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/APG73XKAUDLFVVQXUS2SJETRTQ5DDANCNFSM4JLZCU5Q
.
рдЕрд░реЗ @warden706 , рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдБ рднреА рдмрд╣реБрдд рдирдпрд╛ рд╣реВрдБ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдЗрд╕ рд╕рдВрд╕рд╛рдзрди рдХреЛ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдкрд╛рдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрдзрд░-рдЙрдзрд░ рдареЛрдХрд░ рдЦрд╛ рдЪреБрдХрд╛ рд╣реВрдВ, рдЖрдкрдХреЛ рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирдорд╕реНрддреЗ,
рдпрд╣рд╛рдВ рднреА рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдирдпрд╛ рд╣реИред рдореИрдВ рджреЗрдЦрднрд╛рд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ
рдореИрдВрдиреЗ рдЗрди рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рдФрд░ рдореБрдЭреЗ рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ
рдореИрдВ рднреА рдпрд╣рд╛рдБ рдирдпрд╛ рд╣реВрдБред
рдореИрдВ рд▓реВрдВрдЧрд╛
рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рд╢реНрд░реГрдВрдЦрд▓рд╛/рдЕрдиреБрдХреНрд░рдордг/test_take.py рдореЗрдВ, рдХреЛрдб рдХрд╛ рдЯреБрдХрдбрд╝рд╛:
msg = "index {} is out of bounds for( axis 0 with)? size 5"
with pytest.raises(IndexError, match=msg.format(10)):
ser.take([1, 10])
рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЗрд╕рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛рдП:
msg = lambda x: f"index {x} is out of bounds for( axis 0 with)? size 5"
with pytest.raises(IndexError, match=msg(10)):
ser.take([1, 10])
рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ?
рдирдорд╕реНрддреЗ,
рдореИрдВ рдПрдХ рдкреАрдЖрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреБрдЫ рдЕрд╕рдлрд▓рддрд╛рдПрдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдорд╛рд╕реНрдЯрд░ рдкрд░ рднреА рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред
рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рдЕрд╕рдВрдкрд╛рджрд┐рдд рдлреЛрд░реНрдХрдб рдорд╛рд╕реНрдЯрд░ рдкрд░ pytest pandas
рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдХреБрдЫ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ?
рдорд╛рд╕реНрдЯрд░ рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдиреЗ рдирд╡реАрдирддрдо рдХрдорд┐рдЯ рдЦреАрдВрдЪреЗ рд╣реИрдВред рдХреМрди рд╕реЗ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ?
@matteosantama рдореИрдВрдиреЗ рдЕрдВрддрд┐рдо рдХрдорд┐рдЯ рдЦреАрдВрдЪрд╛, рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдпрд╛ pytest pandas
ред рдпреЗ рд╣реИрдВ рдирддреАрдЬреЗ
================= short test summary info =================
FAILED pandas/tests/io/test_parquet.py::TestParquetFastParquet::test_s3_roundtrip - ValueError: Invalid timestamp "Ven, 29 Mag 2020 07:59:19 GMT": Unknown string format: Ven, 29 Mag 2020 07:59:19 GMT
FAILED pandas/tests/plotting/test_datetimelike.py::TestTSPlot::test_ts_plot_with_tz['UTC'] - AttributeError: 'numpy.datetime64' object has no attribute 'hour'
================= 2 failed, 87804 passed, 1185 skipped, 1005 xfailed, 5637 warnings in 2437.06s (0:40:37) =================
рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдпрджрд┐ рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддрд╛ рд╣реВрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП pytest pandas/tests/io
), рддреЛ рдХреЛрдИ рд╡рд┐рдлрд▓рддрд╛ рдирд╣реАрдВ рд╣реИ:
7273 passed, 344 skipped, 53 xfailed, 5584 warnings in 351.76s (0:05:51)
@OlivierLuG рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рдж рд╕реЗ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓рдЧрднрдЧ рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рдареАрдХ рдХрд░ рджреА рдЧрдИ рд╣реИрдВ рдпрд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрд╢реЛрдзрди рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдареАрдХ рд╣реИрдВред рдореИрдВ "рдЕрднреА рднреА рдЦреБрд▓реА" рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪреА рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдБрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рднреА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдареАрдХ рд╣реИ
@DanBasson рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИ?
рдореБрдЭреЗ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓рддреА рд░рд╣рддреА рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЙрдирдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред
рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЛ рдЖрднрд╛рд░ рд╕рдордЭреЗрдВрдЧреЗ
рдХреНрдпрд╛ рдЖрдкрдиреЗ рдорд╛рд╕реНрдЯрд░ рдкрд░ рдирд╡реАрдирддрдо рд╕рдВрд╢реЛрдзрди рд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ? рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рдЕрд╕рдлрд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдареАрдХ рдХрд░ рджреЗрдЧрд╛ред
рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХреАред
рдЕрдЧрд░ рдХреЛрдИ рдФрд░ рдЗрд╕реЗ рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ: рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ pandas/tests/reshape/test_melt.py
рдЬреИрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реЛрддреА рд╣реИ:
msg = "The following '{Var}' are not present in the DataFrame: {Col}"
...
with pytest.raises(KeyError, match=msg.format(Var="value_vars", Col="\\['C'\\]")):
...
with pytest.raises(KeyError, match=msg.format(Var="id_vars", Col="\\['A'\\]")):
...
рдФрд░ рдЗрд╕реА рддрд░рд╣, рдХреНрдпрд╛ рд╣рдореЗрдВ msg
рдХреЛ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ "рдХрд░реНрдирд▓" рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╛ рдЗрд╕реЗ рд╡реИрд╕реЗ рд╣реА рдЫреЛрдбрд╝ рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ?
@MatteoFelici рдЙрд╕ рдЕрджреНрдпрддрди рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдП рдЧрдП рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╢реЗрд╖ рдореЙрдбреНрдпреВрд▓ рдХреА рдЬрд╛рдБрдЪ рдХреА рдФрд░ рдпрд╣ рдареАрдХ рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдЗрд╕рдХреЗ рд╕рд╛рде рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ https://github.com/pandas-dev/pandas/pull/32007 :
рдкрд╛рдВрдбрд╛/рдкрд░реАрдХреНрд╖рдг/рдлреНрд░реЗрдо/test_to_csv.py