首页 > 解决方案 > 如何在熊猫中将秒替换为零

问题描述

我在熊猫中有以下数据框

  code     time
  1        003002
  1        053003
  1        060002
  1        073001
  1        073003

我想在熊猫中生成以下数据框

  code     time        new_time
  1        003002      00:30:00
  1        053003      05:30:00
  1        060002      06:00:00
  1        073001      07:30:00 
  1        073003      07:30:00

我正在使用以下代码

df['new_time'] = pd.to_datetime(df['time'] ,format='%H%M%S').dt.time

我怎样才能在熊猫中做到这一点?

标签: pythonpandas

解决方案


使用Series.dt.floor

df['time'] = pd.to_datetime(df['time'], format='%H%M%S').dt.floor('T').dt.time

或通过索引删除最后 2 个值,然后将格式更改为%H%M

df['time'] = pd.to_datetime(df['time'].str[:-2], format='%H%M').dt.time

print (df)
  code      time
0    1  00:30:00
1    1  05:30:00
2    1  06:00:00
3    1  07:30:00
4    1  07:30:00

推荐阅读