我在数据框中有一个包含以下格式时间的列。
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]
谢谢。
答案 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