Поскольку мы больше не поддерживаем python 3.5, теперь мы можем использовать новые f-строки вместо старых .format()
(и, очевидно, форматирование %
).
Не забудьте связать эту проблему в теле сообщения запроса на вытягивание, просто вставьте этот 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
[] панды / ядро / frame.py
[] панды / ядро / generic.py
[] панды / ядро / groupby / generic.py
[] панды / ядро / groupby / groupby.py
[] панды / ядро / индексы / base.py
[] панды / ядро / индексы / multi.py
[] панды / ядро / индексы / диапазон.py
[] панды / ядро / операторы / docstrings.py
[] панды / ядро / опс / __ init__.py
[] панды / ядро / reshape / merge.py
[] панды / ядро / инструменты / datetimes.py
[] панды / io / форматы / css.py
[] панды / io / форматы / excel.py
[] панды / io / форматы / format.py
[] панды / io / форматы / html.py
[] панды / io / форматы / info.py
[] панды / io / форматы / latex.py
[] панды / io / форматы / Printing.py
[] панды / io / форматы / style.py
[] панды / io / parsers.py
[] панды / io / pytables.py
[] панды / io / sas / sas_xport.py
[] панды / io / stata.py
[] панды / _libs / tslibs / c_timestamp.pyx
[] панды / _libs / tslibs / frequency.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
[] панды / тесты / groupby / агрегат / test_other.py
[] панды / тесты / индексы / datetimes / test_date_range.py
[] панды / тесты / индексы / datetimes / test_datetime.py
[] панды / тесты / индексы / datetimes / test_formats.py
[] панды / тесты / индексы / datetimes / 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
[] панды / тесты / io / excel / test_openpyxl.py
[] панды / тесты / io / excel / test_writers.py
[] панды / тесты / io / форматы / test_format.py
[] панды / тесты / io / форматы / test_printing.py
[] панды / тесты / io / форматы / test_style.py
[] панды / тесты / io / форматы / test_to_csv.py
[] панды / тесты / io / форматы / test_to_html.py
[] панды / тесты / io / форматы / test_to_latex.py
[] панды / тесты / io / парсер / test_compression.py
[] панды / тесты / io / парсер / test_encoding.py
[] панды / тесты / io / парсер / test_header.py
[] панды / тесты / io / парсер / test_parse_dates.py
[] панды / тесты / io / парсер / test_usecols.py
[] панды / тесты / io / test_html.py
[] панды / тесты / io / test_sql.py
[] панды / тесты / io / test_stata.py
[] панды / тесты / сокращения / test_reductions.py
[] панды / тесты / изменить форму / test_concat.py
[] панды / тесты / reshape / test_melt.py
[] панды / тесты / скаляр / период / test_period.py
[] панды / тесты / скаляр / timedelta / 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
[] панды / тесты / util / test_assert_frame_equal.py
[] панды / tseries / frequency.py
[] панды / util / _decorators.py
[] панды / util / _test_decorators.py
[] панды / util / _validators.py
[] панды / _version.py
Список может меняться по мере постоянного перемещения / переименования файлов.
Перенял файлы и команды из этого PR .
Я говорю:
[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 / reduce.pyx
[x] панды / _libs / sparse.pyx
[x] панды / _libs / testing.pyx
[x] панды / _libs / tslib.pyx
[x] панды / _libs / window.pyx
Я возьму:
для начала, если все в порядке!
Привет, @MomIsBestFriend. Можете ли вы порекомендовать какие-либо инструменты для этого преобразования? Беглый взгляд дал мне вот эти:
У меня нет опыта ни с одним из них, но они могут быть здесь очень полезны
Привет @SaturnFromTitan , я лично иногда использую pyupgrade, но только когда файл содержит только несколько устаревших строковых форматов. Затем я смотрю изменения и исправляю, если в pyupgrade что-то не так.
Когда это файлы с большим количеством вхождений, я беру «сложные» вручную (например, '%.2f' % my_float
) и позволяю ему разбираться с общими, обычно это получается правильно.
Кроме того, некоторые изменения сделают измененный файл несовместимым с pep8, поэтому необходимо исправить и это, иначе он не пройдет тесты.
Далее займем:
[x] панды / compat / __ init__.py
[x] панды / compat / numpy / function.py
[x] панды / compat / numpy / __ init__.py
[x] панды / compat / _optional.py
Я возьму:
Что все думают о том, чтобы пометить это как good first issue
? Это должно относиться к большинству файлов здесь. Изменения, которые необходимо внести, обычно составляют всего несколько строк или около того на файл, и тому, кто вносит изменения, не нужно слишком беспокоиться о влиянии на другие части кода (поскольку выполняемая конечная функция такая же).
Я представляю установку, подобную # 28926.
Замена f-строки помещена на:
исх. № 29701
Далее займем:
[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
Я возьму
исх # 29781
Я возьму:
- [x] панды / ядро / изменить форму / concat.py
- [x] панды / core / reshape / melt.py
- [] панды / ядро / reshape / merge.py
- [x] панды / ядро / изменить форму / pivot.py
- [x] панды / ядро / reshape / reshape.py
- [] панды / ядро / reshape / tile.py
Что все думают о том, чтобы пометить это как
good first issue
? Это должно относиться к большинству файлов здесь. Изменения, которые необходимо внести, обычно составляют всего несколько строк или около того на файл, и тому, кто вносит изменения, не нужно слишком беспокоиться о влиянии на другие части кода (поскольку выполняемая конечная функция такая же).Я представляю установку, подобную # 28926.
Конечно, я помечен соответствующим образом. Благодарность
Далее:
[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} pandas /
Найти какое-нибудь старое форматирование. я прошу прощения
Извините, я только что заметил, что вы попросили указать, над какими файлами работать. Я просто использовал
@ForTimeBeing Вот почему я отредактировал пост, рад, что вы заметили :)
вы можете опубликовать то, над чем вы работали? на всякий случай кто-то ищет комментарии.
Конечно, взял;
и под
.format все еще существует и отображается в поиске grep, но нет литералов, которые можно было бы преобразовать в fstring. Не уверен, есть ли другой способ сделать это или оставить как есть, но теперь все литералы заменены на fstring в этом файле.
.format все еще существует и отображается в поиске grep, но нет литералов, которые можно было бы преобразовать в fstring. Не уверен, есть ли другой способ сделать это или оставить как есть, но теперь все литералы заменены на fstring в этом файле.
@ForTimeBeing
Нет проблем:)
спасибо за пиар :)
я взял
исх. № 29952
Я возьму:
[x] ci / print_skipped.py
[x] doc / make.py
[x] doc / sphinxext / announce.py
[x] документ / sphinxext / Contributors.py
Работаем над: 'pandas / core / dtypes / dtypes.py'
Взял:
исх: 30116, 30135, 30363
Я возьму:
У меня проблема с предопределенными строками. Я нашел решение, но не уверен, что он правильный.
Представьте себе ситуацию, когда у вас есть предопределенная строка, например:
THE_MESSAGE = "Сообщение с аргументами. Arg1: {arg1}, Arg2: {arg2}."
Это вызывается с помощью .format (), например:
THE_MESSAGE.format (arg1_str, arg2_str).
Могу ли я переписать это, используя лямбда-функцию способом, описанным ниже?
THE_MESSAGE = lambda arg1, arg2: f "Сообщение с аргументами. Arg1: {arg1}, Arg2: {arg2}."
и назовите это
THE_MESSAGE (arg1_str, arg2_str)?
Я знаю, что это сработает, я не уверен, что это лучший способ решить эту проблему :)
У меня проблема с предопределенными строками.
Я полностью понимаю, как объясняет pep 498 :
Обычные строки объединяются во время компиляции, а f-строки объединяются во время выполнения.
Нам нужно подумать о способе отказаться от использования .format()
и использовать что-то еще - строковый шаблон.
Единственное, о чем я могу думать на данный момент, - это string.Template
из stdlib, но я действительно не знаю.
@jbrockmendel Можете ли вы нам помочь?
@MomIsBestFriend , вам кажется, что лямбда-функция - это излишек для этого?
@MomIsBestFriend, я думаю, это может быть тот случай, когда жизнь с несколькими .format
s - лучший вариант
@MomIsBestFriend , вам кажется, что лямбда-функция - это излишек для этого?
Я ни в коем случае не эксперт, спросите, пожалуйста, у одного из разработчиков.
взял
исх. № 30120
взял
исх # 30121
взял
исх # 30124
Я возьму
Редактировать:
Принимая:
[x] панды / util / _depr_module.py
[x] панды / util / _doctools.py
[x] pandas / util / _print_versions.py
[x] pandas / util / _test_decorators.py
[x] панды / util / _tester.py
[x] pandas / util / testing.py
[x] панды / util / _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 / sizes / csvs.py
Я говорю:
Вопрос: Есть ли ответ на вопрос, должно ли форматирование строк старой школы оставаться в справочнике по API?
Например, в 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
Если заменить это примером с f-строкой, вы получите что-то вроде:
>>> 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
Что не является точной заменой (f-строка не является функцией, я использую лямбда, чтобы сделать ее функцией, которая воспроизводит чистый эффект «Я есть» .format ()), и вызывает некоторые острые проблемы с размещением некоторые не лучшие практики в документации.
На данный момент я рассматриваю возможность изменения документации как выходящей за рамки, ожидая решения сообщества о том, как обращаться с подобными случаями.
Уже сделано (не уверен, кем):
панды / тесты / массивы / интервал / test_ops.py
Я также возьму
Вопрос: Есть ли ответ на вопрос, должно ли форматирование строк старой школы оставаться в справочнике по API?
cc @WillAyd @jreback
Я не знаю, что вы считаете "строковым форматом старой школы", но .format
будет иметь некоторые варианты использования, которые не покрывают f-строки (а именно отложенная параметризация), так что уверен, что это все еще будет . Я не думаю, что у нас должен быть синтаксис строкового формата Py27 где-нибудь
Я возьму:
Я возьму
В № 30601 я взял
Если все в порядке, я могу взять два файла ниже, чтобы начать с них!
Эти изменения были внесены в # 30604.
Принимая на себя:
Есть ли предпочтительный способ отметить старые предполагаемые использования .format
, которые оставлены как есть в PR? В случае (ошибочного) предположения, что что-то является хорошим вариантом использования, и это упускается из виду в 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
@ HH-MWB Я действительно не имею права голоса по этому поводу, я думаю, что jreback, WillAyd и datapythonista (без тегов, потому что я не хочу их беспокоить) могут помочь вам больше, чем я :)
Что вы пытаетесь заменить с помощью Appender? Я не думаю, что это могут быть ф-струны
Было бы нормально, если бы .format заменил синтаксис Py27, но, вероятно, стоит открыть отдельный вопрос для обсуждения
Что вы пытаетесь заменить с помощью Appender? Я не думаю, что это могут быть ф-струны
Было бы нормально, если бы .format заменил синтаксис Py27, но, вероятно, стоит открыть отдельный вопрос для обсуждения
@WillAyd Я действительно думаю, что string.Template
из stdlib - правильный метод для этого.
Есть предположения?
Привет, @WillAyd , извини, что не %
на .format
, а также замене кода типа %(XXX)s
на {XXX}
в шаблоне _shared_docs
. Как сказал @MomIsBestFriend , другим вариантом будет string.Template
.
Я открыл отдельный выпуск для дальнейшего обсуждения. Спасибо!
Принимая на себя:
исх. № 31412
@MomIsBestFriend Привет! Впервые здесь! Я очень рада своему первому пиару! Я попробую поработать со следующими файлами:
versioneer.py
web / pandas_web.py
Спасибо!!
@drewseibert versioneer.py является поставщиком, поэтому мы не хотим его редактировать. @MomIsBestFriend вы можете удалить это из списка, чтобы избежать путаницы
@jbrockmendel Спасибо за внимание. Наряду с этим, похоже, что другой упомянутый мной файл "web / pandas_web.py" также уже работал. Оба могут быть удалены из списка работ.
Кроме того, я получаю ошибку разрешения 403, когда пытаюсь нажать на фиксацию. Я добавил SSH-ключ и попытался установить удаленный URL-адрес. Не работает для меня, клонирую ли я по SSH или HTTPS. Любая помощь приветствуется! Спасибо!
@MomIsBestFriend Привет! Впервые здесь! Я очень рада своему первому пиару! Я попробую поработать со следующими файлами:
versioneer.py
web / pandas_web.py
Спасибо!!
Удачи @drewseibert
Я возьму:
панды / ядро / изменить форму / concat.py
панды / ядро / изменить форму / melt.py
панды / ядро / изменить форму / merge.py
панды / ядро / изменить форму / pivot.py
панды / ядро / изменить / reshape.py
Работаем над этим сейчас:
панды / тесты / io / test_pickle.py
Привет
Я возьму
панды / util / _print_versions.py
панды / util / _test_decorators.py
https://github.com/pandas-dev/pandas/pull/31628 должно быть в порядке :)
Я возьму pandas/tests/frame/test_repr_info.py
Эй, я возьму
Следующие файлы можно отметить в списке ...
web / pandas_web.py
панды / тесты / io / test_pickle.py
Спасибо!
Еще один, чтобы отметить .. в файле не нужны f-строки:
панды / тесты / серии / индексация / test_boolean.py
Я буду работать над этим сейчас ...
панды / тесты / серии / индексация / test_indexing.py
Спасибо @drewseibert
Здесь еще есть работа? Я хочу внести свой вклад
@ 3вц Да конечно :)
Я думаю ты сможешь взять
панды / тесты / утилита / test_assert_extension_array_equal.py
LMK, если хотите большего.
Я могу чем-то помочь! Это будет мой первый проект с открытым исходным кодом, поэтому мне может понадобиться помощь. Я читал, как писать статьи, но все же.
С какими из них вы бы хотели, чтобы я справился?
@MomIsBestFriend похоже, что pandas/tests/util/test_assert_extension_array_equal.py
было исправлено на PR # 30816 , кроме того, у меня уже настроена среда. Можете дать мне немного поработать?
@ 3vts @GrizzledLabs - не стесняйтесь брать любой из файлов, которые еще не были созданы в списке выше (и убедитесь, что никто не работает над этим) - затем прокомментируйте здесь, над чем вы работаете! Спасибо !
pandas / core / array / boolean.py, похоже, уже сделано. Я видел одну строку f'string и никакой .format (), если только я ее не пропустил.
pandas / core / dtypes / common.py, похоже, уже готов. f'strings, но нет .format ()
Некоторые из этих исправлений касаются нескольких файлов? Некоторые из них не содержат ни одного .format (), и мне интересно, есть ли функции, вызываемые между файлами? Потребуется ли для одного исправления изменить несколько файлов?
Привет, первый участник здесь! Рад приступить к работе!
Изначально хотел взять вот такие:
панды / compat / pickle_compat.py
панды / _config / config.py
но потом я увидел, что это было сделано и объединено, @MomIsBestFriend не могли бы вы обновить список вверху, чтобы отметить их как выполненные?
Я возьму эти:
[] панды / тесты / io / парсер / test_usecols.py
[] панды / тесты / io / pytables / conftest.py
[] панды / тесты / io / pytables / test_store.py
[] панды / тесты / io / pytables / test_timezones.py
@MomIsBestFriend, просматривая поток, я обнаружил, что есть исключение для предопределенных строк. Это все еще применимо? Или есть сейчас. обходной путь?
У меня проблема с предопределенными строками.
Я полностью понимаю, как объясняет pep 498 :
Обычные строки объединяются во время компиляции, а f-строки объединяются во время выполнения.
Нам нужно подумать о способе отказаться от использования
.format()
и использовать что-то еще - строковый шаблон.Единственное, о чем я могу думать на данный момент, - это
string.Template
из stdlib, но я действительно не знаю.@jbrockmendel Можете ли вы нам помочь?
Привет, первый участник 👋. Я возьму:
@ monicaw218 , я бы начал только с одного файла, и как только ваш запрос на
Эти два файла можно исключить из списка:
👍
панды / io / parsers.py
панды / io / pytables.py
Также можно взять с собой:
панды / тесты / groupby / test_apply.py
панды / тесты / groupby / 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"
"панды / тесты / индексы / datetimes / test_scalar_compat.py"
"панды / тесты / индексы / datetimes / 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"
"панды / тесты / io / excel / test_readers.py"
"панды / тесты / io / excel / test_style.py"
"панды / тесты / io / excel / test_writers.py"
"панды / тесты / io / excel / test_xlrd.py"
"панды / тесты / io / форматы / test_console.py"
"панды / тесты / io / форматы / test_to_html.py"
"панды / тесты / io / форматы / test_to_latex.py"
"панды / тесты / io / generate_legacy_storage_files.py"
Они включены в # 31967
"панды / тесты / io / парсер / test_c_parser_only.py"
"панды / тесты / io / парсер / test_common.py"
"панды / тесты / io / парсер / test_compression.py"
"панды / тесты / io / парсер / test_encoding.py"
"панды / тесты / io / парсер / test_multi_thread.py"
"панды / тесты / io / парсер / test_na_values.py"
"панды / тесты / io / парсер / test_parse_dates.py"
"панды / тесты / io / парсер / test_read_fwf.py"
"панды / тесты / io / pytables / conftest.py"
"панды / тесты / io / pytables / test_store.py"
Они включены в # 31980
"панды / тесты / io / pytables / test_timezones.py"
"панды / тесты / io / test_html.py"
"панды / тесты / io / test_stata.py"
"панды / тесты / resample / test_period_index.py"
"панды / тесты / изменить форму / слияние / test_join.py"
"панды / тесты / изменить форму / слияние / test_merge.py"
"панды / тесты / изменение формы / слияние / test_merge_asof.py"
"панды / тесты / reshape / test_melt.py"
"панды / тесты / reshape / test_pivot.py"
"панды / тесты / скаляр / timedelta / 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"
"панды / ядро / util / hashing.py"
"панды / io / форматы / format.py"
"панды / io / форматы / html.py"
"панды / io / форматы / latex.py"
"панды / io / форматы / print.py"
"панды / io / parsers.py"
"панды / тесты / массивы / категориальные / test_dtypes.py"
"панды / тесты / массивы / категориальные / test_operators.py"
Эти сделаны ...
панды / ядро / операторы / invalid.py
панды / ядро / операторы / методы.py
панды / ядро / операторы / roperator.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
. см. # 31942
@MomIsBestFriend вы предпочитаете пропустить обновление pandas/core/generic.py
в этом билете и сделать это под # 31942? Или мне следует заменить декораторы Appender
и Subtitute
в generic.py
новым декоратором doc
под этим билетом, чтобы удалить старую интерполяцию %
?
@smartvinnetou Что касается
Appender
иSubstitute
мы сейчас пытаемся заменить их декораторомdoc
. см. # 31942@MomIsBestFriend вы предпочитаете пропустить обновление
pandas/core/generic.py
в этом билете и сделать это под # 31942? Или мне следует заменить декораторыAppender
иSubtitute
вgeneric.py
новым декораторомdoc
под этим билетом, чтобы удалить старую интерполяцию%
?
@smartvinnetou Под # 31942 в случае pandas/core/generic.py
(Если я правильно понял)
Привет, обнаружено довольно много файлов, которые были либо созданы, либо не нуждались в изменениях, но были помечены как незавершенные. Просто хотел спросить, была ли эта проблема решена и случайно не отмечена, или вы, ребята, все еще работаете над этим. Если это не решится, я тоже хотел бы внести свой вклад. Это были некоторые из файлов, которые были созданы, но не отмечены
@ sachinh35 Я обновил список :)
Трудно было отслеживать
Спасибо за обновление списка! @MomIsBestFriend
Я хотел бы внести свой вклад с # 32939 для файлов под pandas/core/ops/
. Как следует обрабатывать строки документации, например 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 / frequency.pyx
панды / _libs / tslibs / parsing.pyx
панды / _libs / tslibs / period.pyx
панды / _libs / tslibs / strptime.pyx
примечание: это мой первый пиар в жизни. Сообщите мне, если что-то нужно улучшить.
Прошился через тему, чтобы обновить список + проверить некоторые файлы.
(ничего менять не нужно):
Я позаботился о pandas/util/_validators.py
. Многие из этих файлов мне тоже кажутся нормальными.
Привет, Маттео,
Мне интересно помочь с этим, но я новичок в git и
способствуя pandas. Не могли бы вы провести меня через
шаги? Возможно, я смогу настроить демонстрацию экрана на этой неделе?
Спасибо,
Эндрю
Во вторник, 26 мая 2020 г., 15:12 Маттео Сантамария [email protected]
написал:
Я позаботился о pandas / util / _validators.py. Многие из этих других файлов
Мне тоже кажется, что все в порядке.
- панды / util / _test_decorators.py
- панды / tseries / frequency.py
- панды / тесты / утилита / test_assert_frame_equal.py
- панды / тесты / tslibs / test_parsing.py
- панды / тесты / tseries / праздник / test_holiday.py
- панды / тесты / tseries / праздник / 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 , я тоже здесь новенький, так что мне этот ресурс очень полезным, так как наткнулся на него, вам стоит его проверить.
Привет,
довольно новичок в том, чтобы вносить свой вклад и здесь. Я забочусь о
Я проверил эти другие файлы и мне кажется, что все в порядке
Я тоже здесь новенький.
Я возьму
У меня вопрос по поводу смены кода.
например, в pandas / tests / series / indexing / 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 у вас есть обновления?
я продолжаю получать ошибки, которые я не знаю, что они означают.
любая помощь будет оценена
Вы пробовали загрузить последние модификации на master? Возможно, это исправит некоторые из неудавшихся тестов.
это не помогло.
если кто-то другой захочет взять его, ты можешь
Сомневаюсь: когда мы имеем ситуацию как в 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
в функцию и вызвать ее с разными значениями «Col»? Или лучше оставить как есть?
@MatteoFelici благодарит за обновленный список. Я проверил несколько последних оставшихся модулей, которые вы вызывали, и все выглядит нормально, поэтому я думаю, что мы можем закрыть эту проблему.
Самый полезный комментарий
Добавлен мой первый запрос на перенос с этим https://github.com/pandas-dev/pandas/pull/32007 :
панды / тесты / кадр / test_to_csv.py