timestamp对象不能识别某些属性和方法

6tqwzwtp  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(358)

我收集了一些非常简单的代码,但这些代码并不像文档中所说的那样工作:
这就是df的样子:

Date                Symbol  Open    High    Low     Close   Volume
0   2020-03-13 08-PM    ETHUSD  129.94  131.82  126.87  128.71  1940673.93
1   2020-03-13 07-PM    ETHUSD  119.51  132.02  117.10  129.94  7579741.09
2   2020-03-13 06-PM    ETHUSD  124.47  124.85  115.50  119.51  4898735.81
3   2020-03-13 05-PM    ETHUSD  124.08  127.42  121.63  124.47  2753450.92
4   2020-03-13 04-PM    ETHUSD  124.85  129.51  120.17  124.08  4461424.71

代码:

import pandas as pd
df = pd.read_csv('ETH_1h.csv')

df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d %I-%p')

但是 df.loc[0, 'Date'].day_name() 给予

AttributeError: 'Timestamp' object has no attribute 'day_name'

当文档声明任何timestamp对象(iloc查询就是这个对象)都具有该属性时。

7fyelxc5

7fyelxc51#

尝试 df.loc[0, 'Date'].dt.day_name() https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.series.dt.html
它是序列值的datetimelike属性的访问器对象。

>>> import pandas as pd
>>> df = pd.DataFrame([['2021-01-01']])
>>> df[0]
0    2021-01-01
Name: 0, dtype: object
>>> df[0] = pd.to_datetime(df[0])
>>> df
           0
0 2021-01-01
>>> df[0].dt.day_name()
0    Friday

相关问题