Pandas: عرض أفضل لـ Timedelta السلبي

تم إنشاؤها على ١١ أغسطس ٢٠١٧  ·  3تعليقات  ·  مصدر: pandas-dev/pandas

نموذج التعليمات البرمجية ، مثال يمكن نسخه ولصقه إن أمكن

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

وصف المشكلة

Timedelta('-1 days +23:59:59.877000') ليس عرضًا شديد الوضوح للعرض السلبي Timedelta

قد يكون من الأفضل (للعديد من الاستخدامات) عرض السالب Timedelta مثل Timedelta('0 days -00:00:00.123000') أو Timedelta('-0 days 00:00:00.123000')

Enhancement Output-Formatting Timedelta

التعليق الأكثر فائدة

أود أن أقول إن الأمر يستحق ذلك حقًا ، لأن التمثيل الحالي للرقم السالب محير حقًا.

ولكن فيما يتعلق بكسر التناسق ، أعتقد أن تمثيل السلسلة للوقت السلبي لم يكن المقصود به أي نوع من سهولة الاستخدام في الاعتبار. لقد وجدت المناقشة التالية (أساسًا كل ما وجدته حول هذا الموضوع):

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

هل يتذكر أي شخص الأساس المنطقي لهذا السلوك؟

لا أذكر أي سبب منطقي أفضل مما كتبته في المستندات: "String
يتم تطبيع تمثيلات كائنات timedelta بشكل مشابه لها
التمثيل الداخلي ".

أعتقد أنه سيكون من الأفضل تغيير تطبيق Python الافتراضي للسلسلة (بدلاً من القيام بذلك بطريقة مخصصة لكل مشروع مختلف ، بما في ذلك الباندا) ، ولكن نظرًا لأن هذا لن يكون كذلك ، أعتقد أنه فكرة جيدة لإضافتها إلى الباندا ، لأنها طريقة غير بديهية للغاية.
لا أستطيع التفكير في حالة يفضلها أي شخص عند التعامل مع التوقيتات السلبية.

ال 3 كومينتر

xref # 15633 نحن نتبع تقدم python (المربك) هنا ، لكنني أفترض أننا يمكن أن نكسر على 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'

أفترض ، رغم أنني لست متأكدًا حقًا من أنه يستحق التناقض هنا.

أود أن أقول إن الأمر يستحق ذلك حقًا ، لأن التمثيل الحالي للرقم السالب محير حقًا.

ولكن فيما يتعلق بكسر التناسق ، أعتقد أن تمثيل السلسلة للوقت السلبي لم يكن المقصود به أي نوع من سهولة الاستخدام في الاعتبار. لقد وجدت المناقشة التالية (أساسًا كل ما وجدته حول هذا الموضوع):

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

هل يتذكر أي شخص الأساس المنطقي لهذا السلوك؟

لا أذكر أي سبب منطقي أفضل مما كتبته في المستندات: "String
يتم تطبيع تمثيلات كائنات timedelta بشكل مشابه لها
التمثيل الداخلي ".

أعتقد أنه سيكون من الأفضل تغيير تطبيق Python الافتراضي للسلسلة (بدلاً من القيام بذلك بطريقة مخصصة لكل مشروع مختلف ، بما في ذلك الباندا) ، ولكن نظرًا لأن هذا لن يكون كذلك ، أعتقد أنه فكرة جيدة لإضافتها إلى الباندا ، لأنها طريقة غير بديهية للغاية.
لا أستطيع التفكير في حالة يفضلها أي شخص عند التعامل مع التوقيتات السلبية.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات