如何将两列熊猫数据框转换为日期时间?

时间:2020-04-01 18:40:36

标签: python pandas

我有一个包含2列的pandas数据框:第一列是分钟,第二列是秒。看起来像这样:

     min   s
0      0   0
1      0   1
2      0   2
3      0   3
4      0   4
5      0   5
6      0   6
7      0   7
8      0   8
9      0   9
10     0  10
11     0  11
12     0  12

如何将其转换为%M:%S格式的日期时间?

2 个答案:

答案 0 :(得分:0)

我相信,因为您只有“仅时间”列,所以应避免使用datetime,而应使用timedelta。

我会尝试这样的事情:

import pandas as pd
df=pd.DataFrame({"minute":[0,1,2,3,4,5],"second":[30,40,50,60,10,20]})
df['time'] = df.agg('{0[minute]}:{0[second]}'.format, axis=1)
df['time'] = pd.to_timedelta('00:'+df['time'])

print(df)输出,如果不需要,则可以在分钟和第二列之后删除

   minute  second     time
0       0      30 00:00:30
1       1      40 00:01:40
2       2      50 00:02:50
3       3      60 00:04:00
4       4      10 00:04:10
5       5      20 00:05:20

答案 1 :(得分:0)

l = []
for MinSec in list(zip(df['min'],df['s'])):
    l.append(':'.join(map(str,MinSec)))

pd.to_datetime(pd.Series(l), format='%M:%S')

zip个min和s列,使用:作为分隔符将它们连接起来,并将带有to_datetime()的序列转换为您所需的日期时间格式。