日期时间系列属性

nBy*_*tes 2 datetime pandas

你能帮我解决这个问题吗?

我最近将 pandas 升级到版本 1.0.0,但我的代码之一停止工作。更具体地说,我曾经使用以下命令从日期中获取 weekday_name 属性

s.dt.weekday_name

现在,自从 pandas 升级后,我收到此错误: AttributeError: 'DatetimeProperties' object has no attribute '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

ALo*_*llz 5

Series.dt.day_name被实现为方法,而不是属性。因此你需要用()

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

与旧的Series.dt.weekday_name属性不同,您现在可以传递允许您更改语言的参数。

\n\n
s.dt.day_name('Danish')\n#2016-12-31     L\xc3\xb8rdag\n#2017-01-01     S\xc3\xb8ndag\n#2017-01-02     Mandag\n#2017-01-03    Tirsdag\n#2017-01-04     Onsdag\n#2017-01-05    Torsdag\n#2017-01-06     Fredag\n#2017-01-07     L\xc3\xb8rdag\n#2017-01-08     S\xc3\xb8ndag\n#Freq: D, dtype: object\n
Run Code Online (Sandbox Code Playgroud)\n