Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用pandas将日期时间值舍入到前30秒_Python_Pandas_Datetime - Fatal编程技术网

Python 使用pandas将日期时间值舍入到前30秒

Python 使用pandas将日期时间值舍入到前30秒,python,pandas,datetime,Python,Pandas,Datetime,给出的时间戳以秒为单位。 例如: GivemyTime是DateTime对象 希望将时间调整为2019-06-03 11:47:30,2019-06-03 11:47:00即之前的30秒精度 可以应用的一个功能是 def timeAdjust(numSec): if numSec > 30: numSec = 30 else: numSec = 0 numSec 挑战是调用函数,如 timeAdjust(df['myTime'].s

给出的时间戳以秒为单位。 例如:

Give
myTime
DateTime
对象 希望将时间调整为
2019-06-03 11:47:30
2019-06-03 11:47:00
即之前的30秒精度

可以应用的一个功能是

def timeAdjust(numSec):
    if numSec > 30:
        numSec = 30
    else:
        numSec = 0
    numSec
挑战是调用函数,如

timeAdjust(df['myTime'].seconds) # Does not work ..
与“30s”一起使用:

有关您可以在此处使用的日期/时间频率的更多信息,请查看


如果要将其作为可重用函数编写,请修改代码以接受两个参数:
qualifier
,和分别表示刻度和频率的
freq

def adjust_time(ser, qualifier, freq=1):
    return ser.dt.floor(f'{freq}{qualifier}')
样本运行

adjust_time(pd.to_datetime(df['myTime']), qualifier='s', freq=30)

0   2019-06-03 11:47:30
1   2019-06-03 11:47:00
Name: myTime, dtype: datetime64[ns]
它对其他频率也很有效

adjust_time(pd.to_datetime(df['myTime']), qualifier='D')

0   2019-06-03
1   2019-06-03
Name: myTime, dtype: datetime64[ns]

谢谢..@cs95,但是有没有办法把时间花在定制功能上呢。如果我需要在时间调整功能中做其他事情
adjust_time(pd.to_datetime(df['myTime']), qualifier='s', freq=30)

0   2019-06-03 11:47:30
1   2019-06-03 11:47:00
Name: myTime, dtype: datetime64[ns]
adjust_time(pd.to_datetime(df['myTime']), qualifier='D')

0   2019-06-03
1   2019-06-03
Name: myTime, dtype: datetime64[ns]