Python:如何将时间记录(例如2015-02-01 12:34:22)分成两个不同的数组

时间:2016-03-21 13:33:45

标签: python pandas

dataframe如下:

1       2015-02-01 18:04:33
2       2015-02-01 12:28:15
3       2015-02-01 12:28:56
4       2015-02-01 00:45:08
5       2015-02-01 00:46:28
6       2015-02-01 00:59:56
7       2015-02-01 01:00:21
8       2015-02-01 01:00:21
9       2015-02-01 01:02:51
10      2015-02-01 01:02:51
11      2015-02-01 01:14:14      

这些时间记录(例如2015-02-01 01:02:51)被视为此数据框中的单个数组,我想将其分为数据和小时,例如2015-02-01在一个数组中,01:00:21在另一个数组中。

df.info()显示Int64Index:695366个条目,0到695365个数据列(共13列):URID 695366非空对象GPRS 632202非空对象datetime 695362非空对象

我尝试使用splitnumpy,但它不起作用。所以我想知道是否有其他方法可以解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果您的dtypedatetime,那么您可以使用.dt访问者来分隔该列:

In [32]:
df['date'], df['time'] = df['datetime'].dt.date, df['datetime'].dt.time
df

Out[32]:
                 datetime        date      time
index                                          
1     2015-02-01 18:04:33  2015-02-01  18:04:33
2     2015-02-01 12:28:15  2015-02-01  12:28:15
3     2015-02-01 12:28:56  2015-02-01  12:28:56
4     2015-02-01 00:45:08  2015-02-01  00:45:08
5     2015-02-01 00:46:28  2015-02-01  00:46:28
6     2015-02-01 00:59:56  2015-02-01  00:59:56
7     2015-02-01 01:00:21  2015-02-01  01:00:21
8     2015-02-01 01:00:21  2015-02-01  01:00:21
9     2015-02-01 01:02:51  2015-02-01  01:02:51
10    2015-02-01 01:02:51  2015-02-01  01:02:51
11    2015-02-01 01:14:14  2015-02-01  01:14:14