Karena kami tidak lagi mendukung python 3.5, kami sekarang dapat menggunakan f-string baru sebagai ganti .format()
( dan tentunya format %
).
Jangan lupa untuk menautkan masalah ini di pesan isi permintaan tarik Anda, cukup tempel https://github.com/pandas-dev/pandas/issues/29547
di pesan isi permintaan tarik Anda.
Jika salah satu file Anda yang diubah terkait dengan #29886 , pastikan untuk menautkan permintaan tarik Anda ke masalah itu juga, cukup tempelkan https://github.com/pandas-dev/pandas/issues/29886
di pesan isi permintaan tarik Anda juga.
Silakan komentar apa yang Anda rencanakan untuk dikerjakan, jadi kami tidak akan melakukan pekerjaan ganda.
Jika file/file yang harus ditandai sebagai selesai, tidak ditandai, beri komentar beri tahu saya.
Untuk memeriksa file apa yang masih perlu diperbaiki di direktori 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/
Semua hal di atas juga dapat digunakan sebagai satu liner:
grep -l -R -e '%s' -e '%d' -e '\.format(' --include=*.{py,pyx} pandas/
Jika Anda ingin melihat nomor baris kemunculannya, ganti -l
dengan -n
Misalnya:
grep -n -R '%s' --include=*.{py,pyx} pandas/
[ ] pandas/compat/pickle_compat.py
[ ] pandas/_config/config.py
[ ] pandas/core/arrays/datetimelike.py
[ ] pandas/core/arrays/datetimes.py
[ ] pandas/core/arrays/integer.py
[ ] pandas/core/arrays/period.py
[ ] pandas/core/computation/pytables.py
[ ] pandas/core/config_init.py
[ ] pandas/core/frame.py
[ ] pandas/core/generic.py
[ ] pandas/core/groupby/generic.py
[ ] pandas/core/groupby/groupby.py
[ ] pandas/core/indexes/base.py
[ ] pandas/core/indexes/multi.py
[ ] pandas/core/indexes/range.py
[ ] pandas/core/ops/docstrings.py
[ ] pandas/core/ops/__init__.py
[ ] pandas/core/reshape/merge.py
[ ] pandas/core/tools/datetimes.py
[ ] pandas/io/formats/css.py
[ ] pandas/io/formats/excel.py
[ ] pandas/io/formats/format.py
[ ] pandas/io/formats/html.py
[ ] pandas/io/formats/info.py
[ ] pandas/io/formats/latex.py
[ ] pandas/io/formats/printing.py
[ ] pandas/io/formats/style.py
[ ] pandas/io/parsers.py
[ ] pandas/io/pytables.py
[ ] pandas/io/sas/sas_xport.py
[ ] pandas/io/stata.py
[ ] pandas/_libs/tslibs/c_timestamp.pyx
[ ] pandas/_libs/tslibs/frequencies.pyx
[ ] pandas/_libs/tslibs/parsing.pyx
[ ] pandas/_libs/tslibs/period.pyx
[ ] pandas/_libs/tslibs/strptime.pyx
[ ] pandas/_libs/tslibs/timedeltas.pyx
[ ] pandas/plotting/_matplotlib/converter.py
[ ] pandas/tests/arrays/categorical/test_operators.py
[ ] pandas/tests/arrays/test_datetimelike.py
[ ] pandas/tests/dtypes/test_dtypes.py
[ ] pandas/tests/extension/base/setitem.py
[ ] pandas/tests/frame/test_constructors.py
[ ] pandas/tests/frame/test_missing.py
[ ] pandas/tests/frame/test_to_csv.py
[ ] pandas/tests/groupby/aggregate/test_other.py
[ ] pandas/tests/indexes/datetimes/test_date_range.py
[ ] pandas/tests/indexes/datetimes/test_datetime.py
[ ] pandas/tests/indexes/datetimes/test_formats.py
[ ] pandas/tests/indexes/datetimes/test_partial_slicing.py
[ ] pandas/tests/indexes/interval/test_constructors.py
[ ] pandas/tests/indexes/interval/test_interval.py
[ ] pandas/tests/indexes/multi/test_format.py
[ ] pandas/tests/indexes/period/test_formats.py
[ ] pandas/tests/indexes/test_base.py
[ ] pandas/tests/indexes/timedeltas/test_timedelta.py
[ ] pandas/tests/indexing/test_categorical.py
[ ] pandas/tests/indexing/test_coercion.py
[ ] pandas/tests/io/excel/test_openpyxl.py
[ ] pandas/tests/io/excel/test_writers.py
[ ] pandas/tests/io/formats/test_format.py
[ ] pandas/tests/io/formats/test_printing.py
[ ] pandas/tests/io/formats/test_style.py
[ ] pandas/tests/io/formats/test_to_csv.py
[ ] pandas/tests/io/formats/test_to_html.py
[ ] pandas/tests/io/formats/test_to_latex.py
[ ] pandas/tests/io/parser/test_compression.py
[ ] pandas/tests/io/parser/test_encoding.py
[ ] pandas/tests/io/parser/test_header.py
[ ] pandas/tests/io/parser/test_parse_dates.py
[ ] pandas/tests/io/parser/test_usecols.py
[ ] pandas/tests/io/test_html.py
[ ] pandas/tests/io/test_sql.py
[ ] pandas/tests/io/test_stata.py
[ ] pandas/tests/reductions/test_reductions.py
[ ] pandas/tests/reshape/test_concat.py
[ ] pandas/tests/reshape/test_melt.py
[ ] pandas/tests/scalar/period/test_period.py
[ ] pandas/tests/scalar/timedelta/test_timedelta.py
[ ] pandas/tests/scalar/timestamp/test_constructors.py
[ ] pandas/tests/series/indexing/test_numeric.py
[ ] pandas/tests/series/indexing/test_take.py
[ ] pandas/tests/series/indexing/test_where.py
[ ] pandas/tests/series/methods/test_rename.py
[ ] pandas/tests/series/test_api.py
[ ] pandas/tests/series/test_constructors.py
[ ] pandas/tests/series/test_datetime_values.py
[ ] pandas/tests/series/test_repr.py
[ ] pandas/tests/test_strings.py
[ ] pandas/tests/tools/test_to_datetime.py
[ ] pandas/tests/tseries/holiday/test_calendar.py
[ ] pandas/tests/tseries/holiday/test_holiday.py
[ ] pandas/tests/tslibs/test_parsing.py
[ ] pandas/tests/util/test_assert_frame_equal.py
[ ] pandas/tseries/frequencies.py
[ ] pandas/util/_decorators.py
[ ] pandas/util/_test_decorators.py
[ ] pandas/util/_validators.py
[ ] pandas/_version.py
Daftar dapat berubah karena file dipindahkan/diganti namanya terus-menerus.
File dan perintah yang diwarisi dari PR ini.
Saya mengambil:
[x] pandas/_libs/groupby.pyx
[x] pandas/_libs/hashing.pyx
[x] pandas/_libs/index.pyx
[x] pandas/_libs/internals.pyx
[x] pandas/_libs/interval.pyx
[x] pandas/_libs/lib.pyx
[x] pandas/_libs/ops.pyx
[x] pandas/_libs/parsers.pyx
[x] pandas/_libs/reduction.pyx
[x] pandas/_libs/sparse.pyx
[x] pandas/_libs/testing.pyx
[x] pandas/_libs/tslib.pyx
[x] pandas/_libs/window.pyx
Saya akan mengambil:
untuk memulai, jika tidak apa-apa!
Hai @MomIsBestFriend Bisakah Anda merekomendasikan alat apa pun untuk konversi ini? Pandangan sekilas memberi saya ini:
Saya tidak punya pengalaman dengan salah satu dari mereka, tetapi mereka bisa sangat membantu di sini
Halo @SaturnFromTitan , saya pribadi terkadang menggunakan pyupgrade tetapi hanya ketika file tersebut hanya berisi beberapa format string yang sudah ketinggalan zaman di dalamnya. Kemudian saya melihat perubahan dan memperbaiki jika pyupgrade ada yang salah.
Ketika mereka adalah file dengan banyak kejadian, saya memilih yang "kompleks" secara manual (misalnya '%.2f' % my_float
) dan membiarkannya menangani yang umum, biasanya itu benar.
Juga, beberapa perubahan akan membuat file yang diubah tidak kompatibel dengan pep8, jadi ada kebutuhan untuk memperbaikinya juga, jika tidak maka tidak akan lulus tes.
Akan mengambil selanjutnya:
[x] pandas/compat/__init__.py
[x] pandas/compat/numpy/function.py
[x] pandas/compat/numpy/__init__.py
[x] pandas/compat/_optional.py
Saya akan mengambil:
Apa pendapat semua orang tentang menandai ini sebagai good first issue
? Ini harus berlaku untuk sebagian besar file di sini. Perubahan yang perlu dilakukan biasanya hanya beberapa baris atau lebih per file, dan siapa pun yang membuat perubahan tidak perlu terlalu khawatir tentang mempengaruhi bagian lain dari kode (karena fungsi akhir yang dilakukan adalah sama).
Saya membayangkan pengaturan yang mirip dengan #28926.
penggantian f-string ditempatkan pada:
ref #29701
Akan mengambil selanjutnya:
[x] pandas/_libs/tslibs/conversion.pyx
[x] pandas/_libs/tslibs/c_timestamp.pyx
[x] pandas/_libs/tslibs/fields.pyx
[x] pandas/_libs/tslibs/nattype.pyx
[x] pandas/_libs/tslibs/np_datetime.pyx
[x] pandas/_libs/tslibs/offsets.pyx
[x] pandas/_libs/tslibs/parsing.pyx
[x] pandas/_libs/tslibs/timestamps.pyx
[x] pandas/_libs/tslibs/timezones.pyx
[x] pandas/_libs/tslibs/tzconversion.pyx
saya akan mengambil
ref #29781
Saya akan mengambil:
- [x] pandas/core/reshape/concat.py
- [x] pandas/core/reshape/melt.py
- [ ] pandas/core/reshape/merge.py
- [x] pandas/core/reshape/pivot.py
- [x] pandas/core/reshape/reshape.py
- [ ] pandas/core/reshape/tile.py
Apa pendapat semua orang tentang menandai ini sebagai
good first issue
? Ini harus berlaku untuk sebagian besar file di sini. Perubahan yang perlu dilakukan biasanya hanya beberapa baris atau lebih per file, dan siapa pun yang membuat perubahan tidak perlu terlalu khawatir tentang mempengaruhi bagian lain dari kode (karena fungsi akhir yang dilakukan adalah sama).Saya membayangkan pengaturan yang mirip dengan #28926.
Tentu ive diberi label yang sesuai. Terima kasih
Mengambil selanjutnya:
[x] pandas / io / msgpack / _packer.pyx
[x] pandas / io / msgpack / _unpacker.pyx
[x] pandas / io / sas / sas.pyx
Maaf, saya baru menyadari bahwa Anda telah meminta untuk menentukan file mana yang akan dikerjakan. Saya baru saja menggunakan
grep -n -R -e '%s' -e '%d' -e '.format(' --include=*.{py,pyx} pandas/
Untuk menemukan format lama. saya minta maaf
Maaf, saya baru menyadari bahwa Anda telah meminta untuk menentukan file mana yang akan dikerjakan. Saya baru saja menggunakan
@ForTimeBeing Itu sebabnya saya mengedit posting, senang Anda perhatikan :)
dapatkah Anda memposting apa yang Anda kerjakan? untuk berjaga-jaga jika seseorang mencari komentar.
Tentu, saya mengambil;
dan dibawah
.format masih ada dan ditampilkan dalam pencarian grep, tetapi tidak ada literal untuk diubah ke fstring. Tidak yakin apakah ada cara lain untuk melakukannya atau tetap apa adanya, tetapi semua literal ditukar ke fstring sekarang di file itu.
.format masih ada dan ditampilkan dalam pencarian grep, tetapi tidak ada literal untuk diubah ke fstring. Tidak yakin apakah ada cara lain untuk melakukannya atau tetap apa adanya, tetapi semua literal ditukar ke fstring sekarang di file itu.
@ForTimeBeing
Tidak ada masalah:)
terima kasih untuk PRnya :)
saya mengambil
ref #29952
Saya akan mengambil:
[x] ci/print_skipped.py
[x] doc/make.py
[x] doc/sphinxext/announce.py
[x] doc/sphinxext/contributors.py
Bekerja pada: 'pandas/core/dtypes/dtypes.py'
Telah mengambil:
ref: #30116, #30135, #30363
Saya akan mengambil:
Saya memiliki masalah dengan string yang telah ditentukan. Saya menemukan solusinya tetapi saya tidak yakin apakah itu yang benar.
Bayangkan situasi di mana Anda memiliki string yang telah ditentukan seperti:
THE_MESSAGE = "Pesan dengan argumen. Arg1: {arg1}, Arg2: {arg2}."
Yang disebut dengan .format() seperti:
THE_MESSAGE.format(arg1_str, arg2_str).
Bisakah saya menulis ulang ini dengan menggunakan fungsi lambda dengan cara yang dijelaskan di bawah ini?
THE_MESSAGE = lambda arg1, arg2: f"Pesan dengan argumen. Arg1: {arg1}, Arg2: {arg2}."
dan menyebutnya dengan
THE_MESSAGE(arg1_str, arg2_str)?
Saya tahu itu akan berhasil, saya tidak yakin apakah itu cara terbaik untuk mendekati masalah ini :)
Saya memiliki masalah dengan string yang telah ditentukan.
Saya sepenuhnya mengerti, Seperti yang dijelaskan oleh pep 498 :
String reguler digabungkan pada waktu kompilasi, dan string f digabungkan pada waktu proses.
Kita perlu memikirkan cara untuk menghapus penggunaan .format()
dan menggunakan template string yang lain.
Satu-satunya hal yang dapat saya pikirkan saat ini adalah string.Template
dari stdlib, tetapi saya benar-benar tidak tahu.
@jbrockmendel Bisakah Anda membantu kami?
@MomIsBestFriend apakah menurut Anda fungsi lambda berlebihan untuk ini?
@MomIsBestFriend saya pikir ini mungkin kasus di mana hidup dengan beberapa .format
s adalah cara untuk pergi
@MomIsBestFriend apakah menurut Anda fungsi lambda berlebihan untuk ini?
Saya tidak jauh dari seorang ahli, silakan tanyakan pada salah satu pengembang.
telah mengambil
ref #30120
telah mengambil
ref #30121
telah mengambil
ref #30124
saya akan mengambil
Sunting:
Memukau:
[x] pandas/util/_depr_module.py
[x] pandas/util/_doctools.py
[x] pandas/util/_print_versions.py
[x] pandas/util/_test_decorators.py
[x] pandas/util/_tester.py
[x] pandas/util/testing.py
[x] pandas/util/_validators.py
saya akan mengambil
Terima kasih!
Saya akan mengambil:
pandas/tests/plotting/test_converter.py
pandas/tests/plotting/test_datetimelike.py
pandas/tests/plotting/test_series.py
saya akan mengambil
Halo, @MomIsBestFriend
pandas/tests/plotting/test_converter.py
pandas/tests/plotting/test_datetimelike.py
pandas/tests/plotting/test_series.py
Telah selesai. Terima kasih.
Halo
saya bisa mengambil
Terima kasih
Halo, saya akan mengambil
Terima kasih!
saya mengambil:
pandas/core/missing.py
pandas/core/nanops.py
pandas/tests/indexes/datetimes/test_partial_slicing.py
Tautan ke pr saya: https://github.com/pandas-dev/pandas/pull/30278
Saya akan mengerjakan:
Di sini karena tag "masalah pertama yang bagus"
Saya akan mengambil:
[ ] pandas/io/sql.py
[ ] pandas/io/stata.py
Terima kasih!
Aku akan melakukannya:
saya ingin mengambil
saya baru saja melakukan permintaan tarik di atasnya
Hebat, selalu ingin ikut serta dalam Panda. Akan diperbarui ketika saya tahu apa yang dapat saya penuhi dalam beberapa minggu ke depan ...
saya bisa mengambil
pandas/_version.py
Melompat:
Saya akan mengambil pandas/io/formats/csvs.py
Saya mengambil:
Pertanyaan: Apakah ada jawaban tentang apakah pemformatan string jadul harus tetap ada di referensi API?
Misalnya, dalam 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
Mengganti ini dengan contoh f-string memaksa sesuatu seperti:
>>> 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
Yang bukan pengganti yang tepat (f-string bukan fungsi, saya menggunakan lambda untuk menjadikannya fungsi yang mereplikasi efek bersih dari 'I am a '.format() ), dan menimbulkan beberapa masalah pelik tentang menempatkan beberapa praktik tidak-terbaik dalam dokumentasi.
Untuk saat ini, saya sedang mempertimbangkan untuk mengubah dokumentasi sebagai di luar cakupan, menunggu keputusan komunitas tentang cara menangani kasus seperti ini.
Sudah selesai (tidak yakin oleh siapa):
pandas/tests/arrays/interval/test_ops.py
Saya juga akan mengambil
Pertanyaan: Apakah ada jawaban tentang apakah pemformatan string jadul harus tetap ada di referensi API?
cc @WillAyd @jreback
Saya tidak tahu apa yang Anda anggap sebagai "format string jadul" tetapi .format
akan memiliki beberapa kasus penggunaan yang tidak tercakup oleh f-string (yaitu parameterisasi tertunda) jadi yakin itu akan tetap ada . Saya tidak berpikir kita harus memiliki sintaks format string Py27 di mana pun
Saya akan mengambil:
saya akan mengambil
Di # 30601, saya telah mengambil
Saya dapat mengambil dua file di bawah ini untuk memulai jika tidak apa-apa!
Perubahan ini telah dilakukan di #30604
Mengambil:
Apakah ada cara yang lebih disukai untuk mencatat penggunaan lama yang dimaksudkan dari .format
yang dibiarkan apa adanya, dalam PR? Dalam kasus (salah) menganggap sesuatu adalah kasus penggunaan yang baik dan diabaikan dalam PR
Bekerja pada
saya akan mengambil
Saya ingin mencoba dan mengambil:
Saya ingin mengambil:
Terima kasih @HH-MWB
Saya akan mengambil:
Saya menemukan banyak kode di @Appender()
menggunakan %
untuk memformat string. Kode tersebut menggunakan _shared_docs
sebagai template, yang sebagian besar didefinisikan di /pandas/core/generic.py dan telah digunakan melintasi banyak file.
Saya ingin mengganti semua format _shared_docs
relevan. Perubahan ini perlu memodifikasi banyak file, tetapi saya tidak akan dapat memeriksa semua sintaks pemformatan string lainnya dalam file tersebut.
Apakah itu terdengar bagus? Haruskah saya melakukannya? @datapythonista @MomIsBestFriend
Saya menemukan banyak kode di
@Appender()
menggunakan%
untuk memformat string. Kode tersebut menggunakan_shared_docs
sebagai template, yang sebagian besar didefinisikan di /pandas/core/generic.py dan telah digunakan melintasi banyak file.Saya ingin mengganti semua format
_shared_docs
relevan. Perubahan ini perlu memodifikasi banyak file, tetapi saya tidak akan dapat memeriksa semua sintaks pemformatan string lainnya dalam file tersebut.Apakah itu terdengar bagus? Haruskah saya melakukannya? @datapythonista @MomIsBestFriend
@HH-MWB Saya tidak benar-benar memiliki suara tentang ini, saya pikir jreback dan WillAyd dan datapythonista (Tidak menandai karena saya tidak ingin mengganggu mereka), dapat membantu Anda lebih dari yang saya bisa :)
Apa yang Anda coba ganti dengan Appender? Saya tidak berpikir bisa menjadi f-string
Akan baik-baik saja dengan .format menggantikan sintaks Py27 tetapi mungkin layak untuk membuka masalah terpisah untuk didiskusikan
Apa yang Anda coba ganti dengan Appender? Saya tidak berpikir bisa menjadi f-string
Akan baik-baik saja dengan .format menggantikan sintaks Py27 tetapi mungkin layak untuk membuka masalah terpisah untuk didiskusikan
@WillAyd Saya pikir string.Template
dari stdlib, adalah metode yang tepat untuk ini.
Ada pikiran?
Hai @WillAyd , maaf saya tidak menjelaskannya. Ya, ide awal saya adalah mengganti %
dengan .format
, dan juga mengganti kode seperti %(XXX)s
menjadi {XXX}
di _shared_docs
template. Seperti yang dikatakan @MomIsBestFriend , string.Template
akan menjadi pilihan lain.
Saya membuka masalah terpisah untuk diskusi lebih lanjut. Terima kasih!
Mengambil:
ref #31412
@MomIsBestFriend Halo! Kontributor open-source pertama kali di sini! Saya sangat bersemangat untuk PR pertama saya! Saya akan mencoba mengerjakan file-file berikut:
versioneer.py
web/pandas_web.py
Terima kasih!!
@drewseibert versioneer.py adalah @MomIsBestFriend dapatkah Anda menghapus ini dari daftar untuk menghindari kebingungan ini
@jbrockmendel Terima kasih atas perhatiannya. Bersamaan dengan itu, tampaknya file lain yang saya sebutkan "web/pandas_web.py" telah dikerjakan juga. Keduanya dapat dihapus dari daftar pekerjaan.
Juga, saya mendapatkan kesalahan izin 403 ketika saya mencoba untuk mendorong komit. Saya menambahkan kunci SSH dan mencoba mengatur URL jarak jauh. Tidak berfungsi untuk saya apakah saya mengkloning dengan SSH atau HTTPS. Bantuan apa pun dihargai! Terima kasih!
@MomIsBestFriend Halo! Kontributor open-source pertama kali di sini! Saya sangat bersemangat untuk PR pertama saya! Saya akan mencoba mengerjakan file-file berikut:
versioneer.py
web/pandas_web.py
Terima kasih!!
Semoga sukses @drewseibert
Saya akan mengambil:
pandas/core/reshape/concat.py
pandas/core/reshape/melt.py
pandas/core/reshape/merge.py
pandas/core/reshape/pivot.py
pandas/core/reshape/reshape.py
Bekerja pada yang ini sekarang:
pandas/tests/io/test_pickle.py
Hai
saya akan mengambil
pandas/util/_print_versions.py
pandas/util/_test_decorators.py
https://github.com/pandas-dev/pandas/pull/31628 seharusnya baik-baik saja :)
Saya akan mengambil pandas/tests/frame/test_repr_info.py
Hei, aku akan mengambil
File-file berikut dapat dicentang pada daftar ...
web/pandas_web.py
pandas/tests/io/test_pickle.py
Terima kasih!
Satu lagi untuk diperiksa .. tidak diperlukan f-string dalam file:
pandas/tests/series/indexing/test_boolean.py
Saya akan mengerjakan yang ini sekarang ...
pandas/tests/series/indexing/test_indexing.py
Terima kasih @drewseibert
Apakah masih ada pekerjaan yang tersisa di sini? Saya ingin berkontribusi
@3vts Ya, tentu saja :)
Saya pikir Anda bisa mengambil
pandas/tests/util/test_assert_extension_array_equal.py
LMK jika Anda ingin lebih.
Sesuatu yang bisa saya bantu! Ini akan menjadi kontribusi open source pertama saya, jadi saya mungkin memerlukan bantuan. Saya telah membaca beberapa artikel tentang cara berkontribusi, tetapi tetap saja.
Yang mana yang Anda ingin saya tangani?
@MomIsBestFriend sepertinya pandas/tests/util/test_assert_extension_array_equal.py
telah diperbaiki pada PR #30816 , juga, saya sudah menyiapkan lingkungan. Bisakah Anda memberi saya beberapa beban untuk dikerjakan?
@3vts @GrizzledLabs - jangan ragu untuk mengambil salah satu file yang belum selesai dalam daftar di atas (dan periksa tidak ada orang lain yang mengerjakannya) - lalu beri komentar di sini apa yang sedang Anda kerjakan! Terima kasih !
pandas/core/arrays/boolean.py tampaknya sudah selesai. Saya melihat satu f'string dan tidak ada .format(), kecuali saya melewatkannya.
pandas/core/dtypes/common.py tampaknya sudah selesai juga. f'string tetapi tidak ada .format()
Apakah beberapa perbaikan ini mencakup banyak file? Beberapa tidak berisi .format() tunggal, dan saya bertanya-tanya apakah ada fungsi yang dipanggil di antara file? Apakah satu perbaikan memerlukan perubahan banyak file?
Hai, Kontributor pertama kali di sini! Bersemangat untuk pergi!
Awalnya saya ingin mengambil ini:
pandas/compat/pickle_compat.py
pandas/_config/config.py
tapi kemudian saya melihatnya sudah selesai dan digabungkan, @MomIsBestFriend dapatkah Anda memperbarui daftar di atas untuk mencentangnya sebagai selesai?
Saya akan mengambil ini:
[ ] pandas/tests/io/parser/test_usecols.py
[ ] pandas/tests/io/pytables/conftest.py
[ ] pandas/tests/io/pytables/test_store.py
[ ] pandas/tests/io/pytables/test_timezones.py
@MomIsBestFriend meninjau utas yang saya temukan ada pengecualian untuk string yang telah ditentukan. Apakah ini masih berlaku? Atau kita miliki sekarang. solusi?
Saya memiliki masalah dengan string yang telah ditentukan.
Saya sepenuhnya mengerti, Seperti yang dijelaskan oleh pep 498 :
String reguler digabungkan pada waktu kompilasi, dan string f digabungkan pada waktu proses.
Kita perlu memikirkan cara untuk menghapus penggunaan
.format()
dan menggunakan template string yang lain.Satu-satunya hal yang dapat saya pikirkan saat ini adalah
string.Template
dari stdlib, tetapi saya benar-benar tidak tahu.@jbrockmendel Bisakah Anda membantu kami?
Halo, kontributor pertama kali . Saya akan mengambil:
@monicaw218 , saya akan mulai dengan hanya satu file, dan setelah permintaan tarik Anda digabungkan, Anda dapat melanjutkan dengan yang lainnya. Kontribusi pertama biasanya lebih sulit dari yang diharapkan, dan bagi kami (peninjau) biasanya membantu juga jika permintaan tarik kecil. Khusus untuk kontributor baru, di mana lebih banyak umpan balik mungkin diperlukan.
Kedua file ini dapat dicentang dari daftar:
👍
pandas/io/parser.py
pandas/io/pytables.py
Ini juga bagus untuk dilakukan:
pandas/tests/groupby/test_apply.py
pandas/tests/groupby/test_bin_groupby.py
Ini sudah siap di #31914
"pandas/tests/extension/decimal/test_decimal.py"
"pandas/tests/frame/indexing/test_categorical.py"
"pandas/tests/frame/methods/test_describe.py"
"pandas/tests/frame/methods/test_duplicated.py"
"pandas/tests/frame/methods/test_to_dict.py"
"pandas/tests/frame/test_alter_axes.py"
"pandas/tests/frame/test_api.py"
"pandas/tests/frame/test_constructors.py"
"pandas/tests/frame/test_dtypes.py"
"pandas/tests/frame/test_join.py"
Saya akan mengambil "pandas/io/sas/sas_xport.py".
Ini sudah siap di #31933
"pandas/tests/frame/test_operators.py"
"pandas/tests/frame/test_reshape.py"
"pandas/tests/frame/test_timeseries.py"
"pandas/tests/indexes/datetimes/test_scalar_compat.py"
"pandas/tests/indexes/datetimes/test_tools.py"
"pandas/tests/indexes/interval/test_indexing.py"
"pandas/tests/indexes/interval/test_interval.py"
Ini termasuk dalam #31945
"pandas/tests/indexes/interval/test_setops.py"
"pandas/tests/indexes/multi/test_compat.py"
"pandas/tests/indexes/period/test_constructors.py"
"pandas/tests/indexes/timedeltas/test_constructors.py"
"pandas/tests/indexing/test_floats.py"
Ini termasuk dalam #31963
"pandas/tests/internals/test_internals.py"
"pandas/tests/io/excel/test_readers.py"
"pandas/tests/io/excel/test_style.py"
"pandas/tests/io/excel/test_writers.py"
"pandas/tests/io/excel/test_xlrd.py"
"pandas/tests/io/formats/test_console.py"
"pandas/tests/io/formats/test_to_html.py"
"pandas/tests/io/formats/test_to_latex.py"
"pandas/tests/io/generate_legacy_storage_files.py"
Ini termasuk dalam #31967
"pandas/tests/io/parser/test_c_parser_only.py"
"pandas/tests/io/parser/test_common.py"
"pandas/tests/io/parser/test_compression.py"
"pandas/tests/io/parser/test_encoding.py"
"pandas/tests/io/parser/test_multi_thread.py"
"pandas/tests/io/parser/test_na_values.py"
"pandas/tests/io/parser/test_parse_dates.py"
"pandas/tests/io/parser/test_read_fwf.py"
"pandas/tests/io/pytables/conftest.py"
"pandas/tests/io/pytables/test_store.py"
Ini termasuk dalam #31980
"pandas/tests/io/pytables/test_timezones.py"
"pandas/tests/io/test_html.py"
"pandas/tests/io/test_stata.py"
"pandas/tests/resample/test_period_index.py"
"pandas/tests/reshape/merge/test_join.py"
"pandas/tests/reshape/merge/test_merge.py"
"pandas/tests/reshape/merge/test_merge_asof.py"
"pandas/tests/reshape/test_melt.py"
"pandas/tests/reshape/test_pivot.py"
"pandas/tests/scalar/timedelta/test_constructors.py"
Ini termasuk dalam #31986
"pandas/tests/scalar/timestamp/test_constructors.py"
"pandas/tests/scalar/timestamp/test_rendering.py"
"pandas/tests/scalar/timestamp/test_unary_ops.py"
"pandas/tests/series/methods/test_nlargest.py"
"pandas/tests/series/test_analytics.py"
"pandas/tests/series/test_api.py"
"pandas/tests/series/test_dtypes.py"
"pandas/tests/series/test_ufunc.py"
Menambahkan permintaan tarik pertama saya dengan ini https://github.com/pandas-dev/pandas/pull/32007 :
pandas/tests/frame/test_to_csv.py
Ini termasuk dalam #32032
"pandas/tests/test_downstream.py"
"pandas/tests/test_multilevel.py"
"pandas/tests/tools/test_numeric.py"
"pandas/tests/tseries/frequencies/test_inference.py"
"pandas/tests/tslibs/test_parse_iso8601.py"
"pandas/tests/window/moments/test_moments_rolling.py"
File ini termasuk dalam #32029:
File termasuk dalam https://github.com/pandas-dev/pandas/pull/32044
Ini termasuk dalam #32034
"pandas/core/array/interval.py"
"pandas/core/util/hashing.py"
"pandas/io/formats/format.py"
"pandas/io/formats/html.py"
"pandas/io/formats/latex.py"
"pandas/io/formats/printing.py"
"pandas/io/parser.py"
"pandas/tests/arrays/categorical/test_dtypes.py"
"pandas/tests/arrays/categorical/test_operators.py"
Yang ini sudah selesai...
pandas/core/ops/invalid.py
pandas/core/ops/methods.py
pandas/core/ops/roperator.py
File yang disertakan dalam #32063:
Hai, saya ingin mengambil scripts/validate_docstrings.py
File termasuk dalam permintaan tarik #32189
Apakah masalah ini terselesaikan? Saya telah melihat file yang tidak ditandai pada daftar di bagian atas utas ini, sepertinya string .format() telah dikonversi
pandas//util/_decorators.py selesai (baris yang gagal adalah komentar)
pandas//core/indexes/base.py harus ditandai (kegagalan berasal dari komentar lagi)
Hai, saya mulai melihat pandas/core/generic.py dan segera menyadari bahwa mengubah templat string dari string yang diinterpolasi dengan %
menjadi string.Template
akan memerlukan perubahan di banyak tempat di mana Substitute
+ Appender
digunakan dekorator.
Apakah Anda bertujuan untuk menghapus semua penggunaan interpolasi string %
, dalam hal ini pekerjaan ini akan diperlukan, atau apakah Anda setuju dengan beberapa penggunaan interpolasi %
?
@smartvinnetou Ketika datang ke Appender
dan Substitute
kami sekarang mencoba menggantinya dengan dekorator doc
. lihat https://github.com/pandas-dev/pandas/issues/31942
@smartvinnetou Ketika datang ke
Appender
danSubstitute
kami sekarang mencoba menggantinya dengan dekoratordoc
. lihat #31942
@MomIsBestFriend apakah Anda lebih suka melewatkan peningkatan pandas/core/generic.py
di tiket ini dan melakukannya di bawah #31942 ? Atau saya harus mengganti Appender
dan Subtitute
dekorator di generic.py
dengan yang baru Anda doc
dekorator di bawah tiket ini untuk menghapus tua %
interpolasi?
@smartvinnetou Ketika datang ke
Appender
danSubstitute
kami sekarang mencoba menggantinya dengan dekoratordoc
. lihat #31942@MomIsBestFriend apakah Anda lebih suka melewatkan peningkatan
pandas/core/generic.py
di tiket ini dan melakukannya di bawah #31942 ? Atau saya harus menggantiAppender
danSubtitute
dekorator digeneric.py
dengan yang baru Andadoc
dekorator di bawah tiket ini untuk menghapus tua%
interpolasi?
@smartvinnetou Di bawah # pandas/core/generic.py
(Jika saya mengerti dengan benar)
Hai, menemukan cukup banyak file yang telah selesai atau tidak memerlukan perubahan, tetapi ditandai sebagai belum selesai. Hanya ingin bertanya apakah masalah ini telah terpecahkan dan secara tidak sengaja tidak ditandai atau kalian masih mengerjakannya. Jika tidak diselesaikan, saya ingin berkontribusi juga. Ini adalah beberapa file yang sudah selesai tetapi tidak ditandai
@sachinh35 Saya telah memperbarui daftar :)
Sulit untuk melacak
Terima kasih telah memperbarui daftar! @MomIsBestFriend
Saya ingin berkontribusi dengan #32939 untuk file di bawah pandas/core/ops/
. Bagaimana seharusnya menangani docstrings seperti misalnya https://github.com/pandas-dev/pandas/blob/master/pandas/core/ops/docstrings.py#L564 yang terkadang juga diimpor ke file lain? Membungkus fungsi?
aku berubah
Kedua file telah dimodifikasi:
pandas/_libs/tslibs/timedeltas.pyx
pandas/_libs/tslibs/timestamps.pyx
Perhatikan bahwa tidak ada masalah pada yang berikut ini. Anda juga dapat menandai sebagai selesai:
pandas/_libs/tslibs/c_timestamp.pyx
pandas/_libs/tslibs/frequencies.pyx
pandas/_libs/tslibs/parsing.pyx
pandas/_libs/tslibs/period.pyx
pandas/_libs/tslibs/strptime.pyx
catatan: ini adalah PR pertama saya. Beri tahu saya jika ada yang perlu diperbaiki.
Saya telah membahas topik untuk memperbarui daftar + memeriksa beberapa file.
(tidak perlu mengubah apa pun):
Saya mengurus pandas/util/_validators.py
. Banyak dari file lain ini juga tampak baik-baik saja bagi saya.
Hai Matteo,
Saya tertarik untuk membantu upaya ini, tetapi saya baru mengenal git and
berkontribusi pada panda. Apakah Anda mungkin bisa memandu saya melewati
Langkah ? Mungkin saya dapat menyiapkan berbagi layar minggu ini?
Terima kasih,
Andrew
Pada Selasa, 26 Mei 2020, 15:12 Matteo Santamaria [email protected]
menulis:
Saya menangani pandas/util/_validators.py. Banyak dari file lain ini
sudah tampak ok untuk saya juga.
- pandas/util/_test_decorators.py
- pandas/tseries/frequencies.py
- pandas/tests/util/test_assert_frame_equal.py
- pandas/tests/tslibs/test_parsing.py
- pandas/tests/tseries/holiday/test_holiday.py
- pandas/tests/tseries/holiday/test_calendar.py
- pandas/tests/tools/test_to_datetime.py
- pandas/tests/test_strings.py
- pandas/tests/series/test_repr.py
- pandas/tests/series/test_datetime_values.py
- pandas/tests/series/test_constructors.py
- pandas/tests/series/test_api.py
—
Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub
https://github.com/pandas-dev/pandas/issues/29547#issuecomment-634307953 ,
atau berhenti berlangganan
https://github.com/notifications/unsubscribe-auth/APG73XKAUDLFVVQXUS2SJETRTQ5DDANCNFSM4JLZCU5Q
.
Hai @warden706 , sebenarnya saya juga cukup baru di sini, jadi tidak banyak yang bisa saya tunjukkan. Saya menemukan sumber daya ini sangat membantu karena saya tersandung, Anda harus memeriksanya.
Hai,
cukup baru untuk berkontribusi juga di sini. aku sedang menjaga
Saya memeriksa file-file lain ini dan tampak baik-baik saja bagi saya
saya juga baru disini.
saya akan mengambil
saya punya pertanyaan tentang perubahan kode.
misalnya, di pandas/tests/series/indexing/test_take.py, potongan kode:
msg = "index {} is out of bounds for( axis 0 with)? size 5"
with pytest.raises(IndexError, match=msg.format(10)):
ser.take([1, 10])
jadi saran saya adalah menggantinya ke:
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])
apakah itu cukup baik?
Hai,
Saya ingin membuat PR, jadi saya menjalankan tes, tetapi saya mengalami beberapa kegagalan. Jadi saya mencoba menjalankan tes juga pada master.
Apakah normal menjalankan pytest pandas
pada master bercabang yang tidak diedit menghasilkan beberapa kegagalan?
Guru umumnya harus lulus tes. Pastikan Anda telah menarik komit terbaru. Tes mana yang gagal?
@matteosantama Saya menarik komit terakhir, menginstal ulang lingkungan dan menjalankan kembali tes dengan pytest pandas
. Ini adalah hasilnya
================= 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) =================
Saya perhatikan bahwa jika saya menjalankan tes hanya pada direktori tunggal (misalnya dengan pytest pandas/tests/io
), tidak ada kegagalan:
7273 passed, 344 skipped, 53 xfailed, 5584 warnings in 351.76s (0:05:51)
Sejak komentar @OlivierLuG , sepertinya hampir semua file telah diperbaiki atau sudah baik-baik saja tanpa modifikasi apa pun. Saya akan mencoba memperbarui daftar tentang file "masih terbuka".
Selain itu, saya pikir ini juga sudah ok
@DanBasson apakah Anda memiliki pembaruan?
saya terus mendapatkan kesalahan yang saya tidak tahu apa artinya.
bantuan apa pun akan dihargai
Sudahkah Anda mencoba mengambil modifikasi terbaru di master? Mungkin itu akan memperbaiki beberapa tes yang gagal.
itu tidak membantu.
kalo ada yang mau ambil juga boleh
Saya ragu: ketika kita memiliki situasi seperti di 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'\\]")):
...
dan seterusnya, haruskah kita mengubah msg
menjadi suatu fungsi dan memanggilnya dengan nilai "Col" yang berbeda? Atau lebih baik membiarkannya apa adanya?
@MatteoFelici terima kasih untuk daftar yang diperbarui itu. Saya memeriksa beberapa modul terakhir yang tersisa yang Anda panggil dan ini terlihat baik-baik saja, jadi saya pikir kami dapat menyelesaikan masalah ini
Komentar yang paling membantu
Menambahkan permintaan tarik pertama saya dengan ini https://github.com/pandas-dev/pandas/pull/32007 :
pandas/tests/frame/test_to_csv.py