【发布时间】:2020-09-21 15:05:36
【问题描述】:
我是韩国学生
请理解英语很尴尬
我想让列日期时间>年,月....,秒
train = pd.read_csv('input/Train.csv')
日期时间看起来像这样 (这是 head(20),我删除了其他容易看到的列)
datetime
0 2011-01-01 00:00:00
1 2011-01-01 01:00:00
2 2011-01-01 02:00:00
3 2011-01-01 03:00:00
4 2011-01-01 04:00:00
5 2011-01-01 05:00:00
6 2011-01-01 06:00:00
7 2011-01-01 07:00:00
8 2011-01-01 08:00:00
9 2011-01-01 09:00:00
10 2011-01-01 10:00:00
11 2011-01-01 11:00:00
12 2011-01-01 12:00:00
13 2011-01-01 13:00:00
14 2011-01-01 14:00:00
15 2011-01-01 15:00:00
16 2011-01-01 16:00:00
17 2011-01-01 17:00:00
18 2011-01-01 18:00:00
19 2011-01-01 19:00:00
然后我编写这段代码来查看每一列(年、月、日、小时、分钟、秒)
train['year'] = train['datetime'].dt.year
train['month'] = train['datetime'].dt.month
train['day'] = train['datetime'].dt.day
train['hour'] = train['datetime'].dt.hour
train['minute'] = train['datetime'].dt.minute
train['second'] = train['datetime'].dt.seond
这样的错误
AttributeError: 只能使用带有 datetimelike 值的 .dt 访问器
请帮帮我ㅠㅅㅠ
【问题讨论】:
-
请提供minimal reproducible example,以及整个错误输出。
-
您的日期时间列实际上是一个日期时间对象吗?查看
train['datetime'].dtype。如果是object或string,您可以尝试将parse_dates=['datetime']添加到read_csv调用中。或者在.dt调用之前尝试train['datetime'] = pd.to_datetime(train['datetime'])。 -
train['datetime'].dtype
-
dtype('O').....