نظرًا لأننا لم نعد ندعم 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/
[] الباندا / المواطن / pickle_compat.py
[] الباندا / _config / config.py
[] الباندا / الأساسية / المصفوفات / datetimelike.py
[] الباندا / الأساسية / المصفوفات / datetimes.py
[] الباندا / الأساسية / المصفوفات / Integer.py
[] الباندا / core / arrays / period.py
[] الباندا / النواة / الحوسبة / pytables.py
[] pandas / core / config_init.py
[] الباندا / الأساسية / frame.py
[] الباندا / core / generic.py
[] الباندا / الأساسية / groupby / generic.py
[] الباندا / الأساسية / groupby / groupby.py
[] الباندا / الأساسية / الفهارس / base.py
[] الباندا / الأساسية / الفهارس / multi.py
[] الباندا / الأساسية / الفهارس / range.py
[] pandas / core / ops / docstrings.py
[] pandas / core / ops / __ init__.py
[] الباندا / الأساسية / reshape / merge.py
[] الباندا / الأساسية / الأدوات / datetimes.py
[] الباندا / io / التنسيقات / css.py
[] الباندا / io / format / excel.py
[] الباندا / io / format / format.py
[] pandas / io / format / html.py
[] الباندا / io / التنسيقات / info.py
[] الباندا / io / format / 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 / الترددات. pyx
[] الباندا / _libs / tslibs / parsing.pyx
[] الباندا / _libs / tslibs / period.pyx
[] الباندا / _libs / tslibs / strptime.pyx
[] الباندا / _libs / tslibs / timedeltas.pyx
[] الباندا / التآمر / _matplotlib / converter.py
[] الباندا / الاختبارات / المصفوفات / categorical / 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
[] الباندا / الاختبارات / الفهارس / datetimes / test_date_range.py
[] الباندا / الاختبارات / الفهارس / التاريخ / test_datetime.py
[] الباندا / الاختبارات / الفهارس / التاريخ / test_formats.py
[] الباندا / الاختبارات / الفهارس / التاريخ / test_partial_slicing.py
[] الباندا / الاختبارات / الفهارس / الفاصل الزمني / test_constructors.py
[] حيوانات الباندا / الاختبارات / الفهارس / الفاصل الزمني / test_interval.py
[] الباندا / الاختبارات / الفهارس / multi / 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
[] الباندا / الاختبارات / reshape / test_concat.py
[] الباندا / الاختبارات / إعادة تشكيل / 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
[] الباندا / الاختبارات / tseries / holiday / test_calendar.py
[] الباندا / الاختبارات / tseries / holiday / test_holiday.py
[] الباندا / الاختبارات / tslibs / test_parsing.py
[] الباندا / الاختبارات / الاستخدامات / test_assert_frame_equal.py
[] الباندا / tseries / الترددات
[] الباندا / util / _decorators.py
[] الباندا / util / _test_decorators.py
[] pandas / util / _validators.py
[] الباندا / _version.py
قد تتغير القائمة حيث يتم نقل الملفات / إعادة تسميتها باستمرار.
الملفات والأوامر الموروثة من هذا العلاقات العامة .
انى آخذ:
[x] الباندا / _libs / groupby.pyx
[x] الباندا / _libs / hashing.pyx
[x] الباندا / _libs / index.pyx
[x] الباندا / _libs / internals.pyx
[x] الباندا / _libs / interal.pyx
[x] الباندا / _libs / lib.pyx
[x] الباندا / _libs / ops.pyx
[x] pandas / _libs / parsers.pyx
[x] حيوانات الباندا / _libs / Red.pyx
[x] الباندا / _libs / sparse.pyx
[x] الباندا / _libs / testing.pyx
[x] الباندا / _libs / tslib.pyx
[x] pandas / _libs / window.pyx
سآخذ:
للبدء ، إذا كان هذا جيدًا!
مرحبًا MomIsBestFriend هل يمكنك أن توصي بأي أدوات لهذا التحويل؟ أعطتني نظرة سريعة هذه:
ليس لدي أي خبرة مع أي منهما ، لكن يمكن أن يكونا مفيدين للغاية هنا
مرحبًا SaturnFromTitan ، أنا شخصياً أستخدم pyupgrade أحيانًا ولكن فقط عندما يحتوي الملف على عدد قليل من تنسيقات السلسلة القديمة فيه. ثم ألقي نظرة على التغييرات وأصلح ما إذا كان هناك خطأ ما في pyupgrade .
عندما تكون ملفات بها عدد كبير من التكرارات ، أختار الملفات "المعقدة" يدويًا (على سبيل المثال '%.2f' % my_float
) وأتركها تتعامل مع الملفات الشائعة ، وعادة ما يكون الأمر صحيحًا.
أيضًا ، ستجعل بعض التغييرات الملف الذي تم تغييره غير متوافق مع pep8 ، لذلك هناك حاجة لإصلاح ذلك أيضًا ، وإلا فلن يجتاز الاختبارات.
سيستغرق التالي:
[x] الباندا / المواطن / __ init__.py
[x] الباندا / المتوافقة / numpy / function.py
[x] الباندا / المواطن / numpy / __ init__.py
[x] حيوانات الباندا / مواطن / _optional.py
سآخذ:
ما هي أفكار الجميع حول وضع علامة على هذا كـ good first issue
؟ يجب أن ينطبق على معظم الملفات هنا. عادة ما تكون التغييرات التي يجب إجراؤها عبارة عن بضعة أسطر فقط أو نحو ذلك لكل ملف ، وأي شخص يقوم بإجراء التغييرات لا يحتاج إلى القلق كثيرًا بشأن التأثير على أجزاء أخرى من الكود (نظرًا لأن الوظيفة النهائية التي يتم تنفيذها هي نفسها).
أنا أتخيل إعدادًا مشابهًا لـ # 28926.
استبدال سلسلة f موضوعة على:
المرجع # 29701
سيستغرق التالي:
[x] pandas / _libs / tslibs / conversion.pyx
[x] الباندا / _libs / tslibs / c_timestamp.pyx
[x] الباندا / _libs / tslibs / الحقول
[x] الباندا / _libs / tslibs / nattype.pyx
[x] الباندا / _libs / tslibs / np_datetime.pyx
[x] الباندا / _libs / tslibs / offsets.pyx
[x] pandas / _libs / tslibs / parsing.pyx
[x] الباندا / _libs / tslibs / timestamps.pyx
[x] الباندا / _libs / tslibs / timezones.pyx
[x] الباندا / _libs / tslibs / tzconversion.pyx
سآخذ
المرجع # 29781
سآخذ:
- [x] الباندا / الأساسية / إعادة تشكيل / concat.py
- [x] الباندا / الأساسية / إعادة تشكيل / melt.py
- [] الباندا / الأساسية / reshape / merge.py
- [x] الباندا / core / reshape / pivot.py
- [x] الباندا / الأساسية / reshape / reshape.py
- [] الباندا / core / reshape / Tile.py
ما هي أفكار الجميع حول وضع علامة على هذا كـ
good first issue
؟ يجب أن ينطبق على معظم الملفات هنا. عادة ما تكون التغييرات التي يجب إجراؤها عبارة عن بضعة أسطر فقط أو نحو ذلك لكل ملف ، وأي شخص يقوم بإجراء التغييرات لا يحتاج إلى القلق كثيرًا بشأن التأثير على أجزاء أخرى من الكود (نظرًا لأن الوظيفة النهائية التي يتم تنفيذها هي نفسها).أنا أتخيل إعدادًا مشابهًا لـ # 28926.
من المؤكد أن المسمى وفقًا لذلك. شكرا
أخذ التالي:
[x] pandas / io / msgpack / _packer.pyx
[x] pandas / io / msgpack / _unpacker.pyx
[x] الباندا / io / sas / sas.pyx
آسف لقد لاحظت للتو أنك طلبت تحديد الملفات التي تعمل عليها. أنا فقط كنت أستخدم
grep -n -R -e '٪ s' -e '٪ d' -e '.format (' --include = *. {pyx} الباندا /
للعثور على أي تنسيق قديم. أنا أعتذر
آسف لقد لاحظت للتو أنك طلبت تحديد الملفات التي تعمل عليها. أنا فقط كنت أستخدم
ForTimeBeing لهذا السبب قمت بتحرير
هل يمكنك نشر ما عملت عليه؟ فقط في حالة قيام شخص ما بالبحث في التعليقات.
بالتأكيد ، أخذت ؛
و تحت
لا يزال التنسيق موجودًا ويظهر في بحث grep ، ولكن لا توجد بيانات حرفية لتغييرها إلى fstring. لست متأكدًا مما إذا كانت هناك طريقة أخرى للقيام بذلك أو الاحتفاظ بها كما هي ولكن يتم تبديل جميع العناصر الحرفية إلى fstring الآن في هذا الملف.
لا يزال التنسيق موجودًا ويظهر في بحث grep ، ولكن لا توجد بيانات حرفية لتغييرها إلى fstring. لست متأكدًا مما إذا كانت هناك طريقة أخرى للقيام بذلك أو الاحتفاظ بها كما هي ولكن يتم تبديل جميع العناصر الحرفية إلى fstring الآن في هذا الملف.
@في الوقت الراهن
لا مشاكل:)
شكرا على العلاقات العامة :)
أخذت
المرجع # 29952
سآخذ:
[x] ci / print_skipped.py
[x] doc / make.py
[x] doc / sphinxext / announce.py
[x] doc / 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).
هل يمكنني إعادة كتابة هذا باستخدام وظيفة lambda بالطريقة الموضحة أدناه؟
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] حيوانات الباندا / util / _print_versions.py
[x] حيوانات الباندا / util / _test_decorators.py
[x] حيوانات الباندا / util / _tester.py
[x] حيوانات الباندا / util / testing.py
[x] pandas / 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
شكرا!
سوف افعل:
أود التحدث
لقد قمت الآن بطلب سحب عليه
رائع ، أردت دائمًا المشاركة في Pandas. سيتم التحديث عندما أعرف ما يمكنني تحقيقه في الأسابيع القليلة المقبلة ...
أستطيع أن أخذ
الباندا / _version.py
القفز على:
سآخذ الباندا / io / format / 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 ليست دالة ، فأنا أستخدم لامدا لجعلها وظيفة تكرر التأثير الصافي لـ "أنا". تنسيق ()) ، وتثير بعض المشكلات الشائكة حول وضع بعض أفضل الممارسات في التوثيق.
في الوقت الحالي ، أفكر في تغيير الوثائق باعتبارها خارج النطاق ، وفي انتظار قرار المجتمع بشأن كيفية التعامل مع مثل هذه الحالات.
تم بالفعل (لست متأكدًا من قبل من):
الباندا / الاختبارات / المصفوفات / الفاصل الزمني / test_ops.py
سآخذ أيضا
سؤال: هل هناك إجابة حول ما إذا كان تنسيق سلسلة المدرسة القديمة يجب أن يظل في مرجع API؟
تضمين التغريدة
لا أعرف ما الذي تعتبره "تنسيق سلسلة المدرسة القديمة" ولكن .format
سيكون لها بعض حالات الاستخدام التي لا تغطيها f-strings (تحديدًا المعاملات المتأخرة) ، لذا تأكد من أنها ستظل موجودة . لا أعتقد أنه يجب أن يكون لدينا بناء جملة تنسيق سلسلة Py27 في أي مكان
سآخذ:
سآخذ
في # 30601 ، لقد توليت
يمكنني أخذ الملفين أدناه للبدء بهما إذا كان ذلك جيدًا!
تم إجراء هذه التغييرات في # 30604
يستولى على:
هل هناك طريقة مفضلة لتدوين الاستخدامات القديمة المقصودة لـ .format
المتبقية كما هي في العلاقات العامة؟ في حالة (بشكل غير صحيح) الافتراض بأن شيئًا ما هو حالة استخدام جيدة ويتم التغاضي عنها في العلاقات العامة
يعمل على
سآخذ
أود أن أحاول أن آخذ:
أود التحدث:
شكرا @ HH-MWB
سوف آخذ:
لقد وجدت الكثير من التعليمات البرمجية في @Appender()
تستخدم %
لتنسيق السلسلة. هذه الشفرة تستخدم _shared_docs
كقالب ، والذي يتم تعريفه في الغالب في /pandas/core/generic.py ويتم استخدامه مع عدة ملفات.
أود استبدال كل التنسيقات ذات الصلة بـ _shared_docs
. سيحتاج هذا التغيير إلى تعديل الكثير من الملفات ، لكنني لن أتمكن من التحقق من جميع صيغ تنسيق السلاسل الأخرى في تلك الملفات.
هل هذا الصوت جيدة؟ هل يلزم أن أفعل ذلك؟ تضمين التغريدة
لقد وجدت الكثير من التعليمات البرمجية في
@Appender()
تستخدم%
لتنسيق السلسلة. هذه الشفرة تستخدم_shared_docs
كقالب ، والذي يتم تعريفه في الغالب في /pandas/core/generic.py ويتم استخدامه مع عدة ملفات.أود استبدال كل التنسيقات ذات الصلة بـ
_shared_docs
. سيحتاج هذا التغيير إلى تعديل الكثير من الملفات ، لكنني لن أتمكن من التحقق من جميع صيغ تنسيق السلاسل الأخرى في تلك الملفات.هل هذا الصوت جيدة؟ هل يلزم أن أفعل ذلك؟ تضمين التغريدة
@ HH-MWB ليس لدي رأي في هذا الأمر ، أعتقد أن jreback و WillAyd و datapythonista (عدم وضع العلامات لأنني لا أريد أن أزعجهم) ، يمكن أن يساعدك أكثر مما أستطيع :)
ما الذي تحاول استبداله بـ Appender؟ لا أعتقد أنه يمكن أن تكون سلاسل f
سيكون مناسبًا مع .format الذي يحل محل بناء جملة Py27 ولكن ربما يستحق فتح مشكلة منفصلة للمناقشة
ما الذي تحاول استبداله بـ Appender؟ لا أعتقد أنه يمكن أن تكون سلاسل f
سيكون مناسبًا مع .format الذي يحل محل بناء جملة Py27 ولكن ربما يستحق فتح مشكلة منفصلة للمناقشة
WillAyd أعتقد أن string.Template
من stdlib ، هو الطريقة الصحيحة لذلك.
أي أفكار؟
مرحبًا WillAyd ، آسف لم أوضح ذلك. نعم ، كانت فكرتي الأصلية هي استبدال %
بـ .format
، وكذلك استبدال رمز مثل %(XXX)s
ليصبح {XXX}
في قالب _shared_docs
. مثل MomIsBestFriend قال ، string.Template
سيكون خيارًا آخر.
فتحت قضية منفصلة لمزيد من المناقشة. شكرا!
يستولى على:
المرجع # 31412
تضمين التغريدة مساهم مفتوح المصدر لأول مرة هنا! أنا متحمس جدًا لأول علاقات عامة لي! سأحاول العمل على الملفات التالية:
versioneer.py
الويب / pandas_web.py
شكرا!!
drewseibert versioneer.py مورد ، لذلك لا نريد تعديله MomIsBestFriend ، هل يمكنك إزالة هذا من القائمة لتجنب هذا الالتباس
jbrockmendel شكرا على
أيضًا ، أتلقى خطأ أذونات 403 عندما أحاول دفع الالتزام. أضفت مفتاح SSH وحاولت تعيين عنوان URL البعيد. لا أعمل معي سواء قمت بالاستنساخ باستخدام SSH أو HTTPS. نقدر أي مساعدة! شكرا!
تضمين التغريدة مساهم مفتوح المصدر لأول مرة هنا! أنا متحمس جدًا لأول علاقات عامة لي! سأحاول العمل على الملفات التالية:
versioneer.py
الويب / pandas_web.py
شكرا!!
حظا سعيدا drewseibert
سآخذ:
الباندا / الأساسية / إعادة تشكيل / concat.py
الباندا / الأساسية / إعادة تشكيل / melt.py
الباندا / الأساسية / reshape / merge.py
الباندا / core / reshape / pivot.py
الباندا / الأساسية / reshape / 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
مهلا ، سآخذ
يمكن التحقق من الملفات التالية في القائمة ...
الويب / pandas_web.py
الباندا / الاختبارات / io / test_pickle.py
شكرا!
واحد آخر لفحصه .. لا حاجة إلى سلاسل f في الملف:
الباندا / الاختبارات / السلسلة / الفهرسة / test_boolean.py
سأعمل على هذا الآن ...
الباندا / الاختبارات / السلسلة / الفهرسة / test_indexing.py
شكرا لك drewseibert
هل مازال هناك عمل متبقي هنا؟ اريد المساهمة
@ 3vts نعم بالطبع :)
أعتقد أنك تستطيع أن تأخذ
الباندا / الاختبارات / الاستخدام / test_assert_extension_array_equal.py
إذا كنت تريد المزيد.
شيء يمكنني المساعدة به! ستكون أول مساهمة لي مفتوحة المصدر ، لذلك قد أحتاج إلى بعض المساعدة. لقد قرأت بعضًا عن كيفية المساهمة بالمقالات ، لكن لا يزال.
أي منها تريد مني التعامل معها؟
MomIsBestFriend يبدو أن pandas/tests/util/test_assert_extension_array_equal.py
تم إصلاحه على PR # 30816 ، أيضًا ، لديّ بالفعل إعداد البيئة. هل يمكنك أن تعطيني بعض العبء للعمل معه؟
@ 3vtsGrizzledLabs - لا تتردد في اتخاذ أي من الملفات التي لم يتم القيام به حتى الآن في القائمة أعلاه (وتحقق من أي شخص آخر يعمل على ذلك) - ثم التعليق هنا ما كنت تعمل على! شكرا !
يبدو أن pandas / core / arrays / boolean.py قد تم بالفعل. رأيت تنسيقًا واحدًا ولا يوجد تنسيق () ، إلا إذا فاتني ذلك.
يبدو أن الباندا / core / dtypes / common.py قد تم بالفعل أيضًا. f'strings لكن بدون تنسيق.
هل تشمل بعض هذه الإصلاحات ملفات متعددة؟ بعضها لا يحتوي على تنسيق واحد () ، وأنا أتساءل عما إذا كانت هناك وظائف تسمى بين الملفات؟ هل سيتطلب إصلاح واحد تغيير ملفات متعددة؟
مرحبًا ، المساهم لأول مرة هنا! متحمس للذهاب!
في البداية أردت أن آخذ هذه:
الباندا / المواطن / pickle_compat.py
pandas / _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"
"الباندا / الاختبارات / الفهارس / التاريخ / test_scalar_compat.py"
"الباندا / الاختبارات / الفهارس / التاريخ / test_tools.py"
"الباندا / الاختبارات / الفهارس / الفاصل / test_indexing.py"
"الباندا / الاختبارات / الفهارس / الفاصل الزمني / test_interval.py"
تم تضمين هذه في # 31945
"الباندا / الاختبارات / الفهارس / الفاصل / test_setops.py"
"الباندا / الاختبارات / الفهارس / multi / 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 / create_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"
"الباندا / الاختبارات / إعادة العينة / test_period_index.py"
"الباندا / الاختبارات / إعادة تشكيل / دمج / test_join.py"
"الباندا / الاختبارات / reshape / merge / test_merge.py"
"الباندا / الاختبارات / reshape / merge / test_merge_asof.py"
"الباندا / الاختبارات / إعادة تشكيل / test_melt.py"
"الباندا / الاختبارات / reshape / test_pivot.py"
"الباندا / الاختبارات / scalar / timedelta / test_constructors.py"
تم تضمينها في # 31986
"الباندا / الاختبارات / الحجمي / الطابع الزمني / test_constructors.py"
"الباندا / الاختبارات / scalar / timestamp / 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"
"الباندا / الاختبارات / tseries / الترددات / test_inference.py"
"الباندا / الاختبارات / tslibs / test_parse_iso8601.py"
"الباندا / الاختبارات / النافذة / لحظات / test_moments_rolling.py"
هذا الملف موجود في # 32029:
الملف مضمن في https://github.com/pandas-dev/pandas/pull/32044
تم تضمينها في # 32034
"pandas / core / arrays / interal.py"
"pandas / core / util / hashing.py"
"pandas / io / format / format.py"
"pandas / io / format / html.py"
"pandas / io / format / latex.py"
"pandas / io / format / printing.py"
"الباندا / io / parsers.py"
"الباندا / الاختبارات / المصفوفات / categorical / test_dtypes.py"
"الباندا / الاختبارات / المصفوفات / categorical / test_operators.py"
تم الانتهاء من هذه ...
الباندا / الأساسية / العمليات / غير صالحة
الباندا / الأساسية / العمليات / الأساليب
الباندا / الأساسية / العمليات / roperator.py
الملفات المضمنة في # 32063:
مرحبًا ، أريد أخذ scripts / validate_docstrings.py
تم تضمين الملف في طلب السحب رقم 32189
هل تم حل هذه المشكلة؟ لقد كنت أبحث في الملفات غير المميزة في القائمة أعلى هذا الموضوع ، يبدو أنه تم تحويل سلاسل التنسيق ().
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
المصمم. انظر # 31942MomIsBestFriend ، هل تفضل تخطي ترقية
pandas/core/generic.py
في هذه التذكرة والقيام بذلك تحت رقم 31942؟ أم يجب أن أستبدلAppender
وSubtitute
فيgeneric.py
doc
بمصمم الديكور الجديد%
؟
smartvinnetou تحت # 31942 في حالة pandas/core/generic.py
(إذا فهمت بشكل صحيح)
مرحبًا ، تم العثور على الكثير من الملفات التي تم إجراؤها أو لا تحتاج إلى أي تغييرات ، ولكن تم وضع علامة عليها على أنها لم يتم تنفيذها. أردت فقط أن أسأل عما إذا تم حل هذه المشكلة ولم يتم وضع علامة عليها بطريق الخطأ أو أنكم ما زلتم تعملون على حلها. إذا لم يتم حلها ، أود المساهمة أيضًا. كانت هذه بعض الملفات التي تم إجراؤها ولكن لم يتم وضع علامة عليها
@ sachinh35 لقد قمت بتحديث القائمة :)
أصبح من الصعب تتبعها
شكرا لتحديث القائمة! تضمين التغريدة
أرغب في المساهمة بـ # 32939 للملفات الأقل من pandas/core/ops/
. كيف يجب التعامل مع السلاسل مثل https://github.com/pandas-dev/pandas/blob/master/pandas/core/ops/docstrings.py#L564 والتي يتم استيرادها أحيانًا في ملفات أخرى أيضًا؟ التفاف في الوظائف؟
لقد تغيرت
تم تعديل الملفين:
pandas / _libs / tslibs / timedeltas.pyx
الباندا / _libs / tslibs / timestamps.pyx
لاحظ أنه لم تكن هناك مشاكل في ما يلي. يمكنك وضع علامة "تم" أيضًا:
pandas / _libs / tslibs / c_timestamp.pyx
الباندا / _libs / tslibs / الترددات. pyx
pandas / _libs / tslibs / parsing.pyx
pandas / _libs / tslibs / period.pyx
pandas / _libs / tslibs / strptime.pyx
ملاحظة: هذا هو أول علاقات عامة لي على الإطلاق. اسمحوا لي أن أعرف إذا كان هناك شيء بحاجة إلى تحسين.
لقد قمت بالاطلاع على الموضوع لتحديث القائمة + التحقق من بعض الملفات.
(لا حاجة لتغيير أي شيء):
لقد اعتنيت بـ pandas/util/_validators.py
. العديد من هذه الملفات الأخرى تبدو جيدة بالفعل بالنسبة لي أيضًا.
مرحبًا ماتيو ،
أنا مهتم بالمساعدة في هذا الجهد ، لكنني جديد على git و
المساهمة في الباندا. هل من المحتمل أن تكون قادرًا على إرشادي عبر
خطوات؟ ربما يمكنني إعداد مشاركة الشاشة هذا الأسبوع؟
شكرا،
أندرو
في الثلاثاء ، 26 مايو ، 2020 ، 3:12 مساءً Matteo Santamaria [email protected]
كتب:
لقد اعتنيت بباندا / util / _validators.py. العديد من هذه الملفات الأخرى
يبدو بالفعل جيدًا بالنسبة لي أيضًا.
- الباندا / util / _test_decorators.py
- الباندا / tseries / الترددات
- الباندا / الاختبارات / الاستخدام / test_assert_frame_equal.py
- الباندا / الاختبارات / tslibs / test_parsing.py
- الباندا / الاختبارات / tseries / holiday / test_holiday.py
- الباندا / الاختبارات / tseries / holiday / 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 هل لديك أي تحديث؟
ما زلت أتلقى أخطاء لا أعرف ما تعنيه.
سيكون موضع تقدير أي مساعدة
هل حاولت جلب أحدث التعديلات على الماجستير؟ ربما سيصلح بعض الاختبارات الفاشلة.
لم يساعد.
إذا أراد شخص آخر أن يأخذها ، يمكنك ذلك
لدي شك: عندما يكون لدينا موقف مثل 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