Pandas: Tampilan Timedelta negatif yang lebih baik

Dibuat pada 11 Agu 2017  ·  3Komentar  ·  Sumber: pandas-dev/pandas

Contoh Kode, contoh yang dapat disalin jika memungkinkan

In [2]: pd.to_timedelta(0, unit='ms') - pd.to_timedelta(123, unit='ms')
Out[2]: Timedelta('-1 days +23:59:59.877000')

Deskripsi masalah

Timedelta('-1 days +23:59:59.877000') bukan tampilan yang sangat jelas dari Timedelta negatif

Mungkin lebih baik (untuk banyak penggunaan) untuk menampilkan negatif Timedelta seperti Timedelta('0 days -00:00:00.123000') atau Timedelta('-0 days 00:00:00.123000')

Enhancement Output-Formatting Timedelta

Komentar yang paling membantu

Saya akan mengatakan itu sangat berharga, karena representasi saat ini untuk angka negatif benar-benar membingungkan.

Tetapi tentang melanggar konsistensi, saya kira representasi string untuk delta waktu negatif tidak dimaksudkan untuk memikirkan kegunaan apa pun. Saya menemukan diskusi berikut (pada dasarnya semua yang dapat saya temukan tentangnya):

https://lists.gt.net/python/dev/1129944

Adakah yang ingat alasan perilaku ini?

Saya tidak ingat alasan yang lebih baik daripada apa yang saya tulis di dokumen: "String
representasi objek timedelta dinormalisasi mirip dengan mereka
representasi internal."

Saya kira akan lebih baik jika implementasi default python dari string diubah (daripada melakukannya secara ad-hoc untuk setiap proyek yang berbeda, termasuk panda), tetapi karena ini tidak akan terjadi, saya percaya ini adalah ide bagus untuk menambahkan panda, karena caranya sangat tidak intuitif.
Saya tidak bisa memikirkan kasus di mana ada orang yang lebih suka ketika berhadapan dengan delta waktu negatif.

Semua 3 komentar

xref #15633 Kami mengikuti petunjuk python (membingungkan) di sini, tetapi saya kira kami dapat mematahkan repr.

In [2]: import datetime

In [3]: datetime.timedelta() - datetime.timedelta(milliseconds=123)
Out[3]: datetime.timedelta(-1, 86399, 877000)

In [4]: str(datetime.timedelta() - datetime.timedelta(milliseconds=123))
Out[4]: '-1 day, 23:59:59.877000'

Saya kira, meskipun tidak begitu yakin itu sepadan dengan ketidakkonsistenan di sini.

Saya akan mengatakan itu sangat berharga, karena representasi saat ini untuk angka negatif benar-benar membingungkan.

Tetapi tentang melanggar konsistensi, saya kira representasi string untuk delta waktu negatif tidak dimaksudkan untuk memikirkan kegunaan apa pun. Saya menemukan diskusi berikut (pada dasarnya semua yang dapat saya temukan tentangnya):

https://lists.gt.net/python/dev/1129944

Adakah yang ingat alasan perilaku ini?

Saya tidak ingat alasan yang lebih baik daripada apa yang saya tulis di dokumen: "String
representasi objek timedelta dinormalisasi mirip dengan mereka
representasi internal."

Saya kira akan lebih baik jika implementasi default python dari string diubah (daripada melakukannya secara ad-hoc untuk setiap proyek yang berbeda, termasuk panda), tetapi karena ini tidak akan terjadi, saya percaya ini adalah ide bagus untuk menambahkan panda, karena caranya sangat tidak intuitif.
Saya tidak bisa memikirkan kasus di mana ada orang yang lebih suka ketika berhadapan dengan delta waktu negatif.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat