将时间转换为整数

时间:2019-07-29 12:39:02

标签: python python-3.x pandas python-2.7

我在数据框中有一个包含以下格式时间的列。

Dataframe: df
column: time
value: 07:00:00, 13:00:00 or 14:00:00

该列在每一行中只有这三个值之一。我想将它们分别转换为0、1和2。您能用这些数值代替时间吗?

当前:

df['time'] = [07:00:00, 13:00:00, 14:00:00]

预期:

df['time'] = [0, 1, 2]

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用map进行此操作:

import datetime

mapping = {datetime.time(07,00,00):0, datetime.time(13,00,00):1, datetime.time(14,00,00):2}
df['time']=df['time'].map(mapping)

答案 1 :(得分:0)

一种方法是使用map

例如:

val = {"07:00:00":0, "13:00:00":1, "14:00:00":2}

df = pd.DataFrame({'time':["07:00:00", "13:00:00", "14:00:00"] })
df["time"] = df["time"].map(val)
print(df)

输出:

   time
0     0
1     1
2     2