Свойство Datetime Series - PullRequest
       9

Свойство Datetime Series

2 голосов
/ 09 февраля 2020

Не могли бы вы помочь мне в этом вопросе, пожалуйста?

Я недавно обновил свой pandas до версии 1.0.0, и один из моих кодов перестал работать. Более конкретно, я использовал для получения свойства weekday_name с даты, используя

s.dt.weekday_name

Теперь, с тех пор как pandas обновлено , Я получил эту ошибку: AttributeError: у объекта 'DatetimeProperties' нет атрибута 'weekday_name'

Я проверяю документ, и мне показалось, что это свойство меняется на 'day_name', поэтому я попытался:

s.dt.day_name

Однако вывод не получается ожидаемым.

bound method PandasDelegate._add_delegate_accessors.<locals>._create_delegator_method.<locals>.f of <pandas.core.indexes.accessors.DatetimeProperties object at 0x0000021670C93748

Я бы очень признателен, если вы дадите мне знать обходной путь.

Пример для воспроизведения: s = pd.date_range('2016-12-31', '2017-01-08', freq='D').to_series() s.dt.weekday_name s.dt.day_name

1 Ответ

2 голосов
/ 09 февраля 2020

Series.dt.day_name реализован как метод, а не как атрибут. Поэтому вам нужно вызывать его с ()

s.dt.day_name()
#2016-12-31     Saturday
#2017-01-01       Sunday
#2017-01-02       Monday
#2017-01-03      Tuesday
#2017-01-04    Wednesday
#2017-01-05     Thursday
#2017-01-06       Friday
#2017-01-07     Saturday
#2017-01-08       Sunday
#Freq: D, dtype: object

В отличие от старого атрибута Series.dt.weekday_name, теперь вы можете передавать аргументы, которые позволяют вам изменить язык.

s.dt.day_name('Danish')
#2016-12-31     Lørdag
#2017-01-01     Søndag
#2017-01-02     Mandag
#2017-01-03    Tirsdag
#2017-01-04     Onsdag
#2017-01-05    Torsdag
#2017-01-06     Fredag
#2017-01-07     Lørdag
#2017-01-08     Søndag
#Freq: D, dtype: object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...