Python 将时间转换为整数
我在数据框中有一列,它包含以下格式的时间Python 将时间转换为整数,python,python-3.x,pandas,python-2.7,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] 提前感谢。一种方法是使用map Ex: val = {"07:00:00":0, "1
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]
提前感谢。一种方法是使用
map
Ex:
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
输出:
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
您可以使用
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)
请告诉我们您正在使用的Python版本-标记表示2.7和3,但它们之间有些东西是不兼容的。一般来说,将示例中显示的字符串映射到int 1,2,3对我来说没有多大意义。请考虑使用<代码>日期时间> /COD>数据类型,例如熊猫DF。