2024-04-25 15:23:24 发布
网友
在数据帧df中有以下datetime64格式date列
df
date
2018-12-11 15:26:07
在Python中,如何将秒舍入到最接近的一分钟,使其成为这样?你知道吗
2018-12-11 15:26:00
谢谢
您可以使用^{}和分钟频率:
df = pd.DataFrame({'a': ['2018-12-11 15:26:07', '2018-12-11 15:26:31']}) df['a'] = pd.to_datetime(df['a']) df['a'] = df['a'].dt.round('min') print(df) # a # 0 2018-12-11 15:26:00 # 1 2018-12-11 15:27:00
创建df(数据帧):
1-通过运行以下命令导入控制台中的pandas库(在我的例子中是Jupyter)。你知道吗
pandas
import pandas as pd
2-现在运行以下命令来创建df(dataframe)。你知道吗
df = pd.DataFrame({'a': ['2018-12-11 15:26:07', '2018-12-11 15:26:31']})
现在,OP要求获取秒字段00:
00
df['a']=df['a'].str.replace(':[0-9]+$', ':00') df
现在打印df时,输出如下。你知道吗
a 0 2018-12-11 15:26:00 1 2018-12-11 15:26:00
最快最简单的方法是重新定义时间单位或更改格式,从:
df['IDENTIFY_DATE'] = df.IDENTIFY_DATE.astype( 'datetime64[ns]'
收件人:
df['IDENTIFY_DATE'] = df.IDENTIFY_DATE.astype( 'datetime64[s]'
unit:string,默认“ns”:arg的单位(D,s,ms,us,ns)表示单位,是整数或浮点数。这将基于原点。例如,使用unit='ms'和origin='unix'(默认值),这将计算unix epoch开始的毫秒数。你知道吗
或者改变格式
df['IDENTIFY_DATE'] = df.IDENTIFY_DATE.astype( format=“%d/%m/%Y %H:%M”, note that “%f” will parse all the way up to nanoseconds.'
格式:字符串,默认无 strftime解析时间,例如“%d/%m/%Y”,请注意“%f”将解析到纳秒。你知道吗
通过: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.to_datetime.html
同样有用:http://strftime.org/
您可以使用^{} 和分钟频率:
创建df(数据帧):
1-通过运行以下命令导入控制台中的
pandas
库(在我的例子中是Jupyter)。你知道吗2-现在运行以下命令来创建
df
(dataframe)。你知道吗现在,OP要求获取秒字段
00
:现在打印
df
时,输出如下。你知道吗最快最简单的方法是重新定义时间单位或更改格式,从:
收件人:
unit:string,默认“ns”:arg的单位(D,s,ms,us,ns)表示单位,是整数或浮点数。这将基于原点。例如,使用unit='ms'和origin='unix'(默认值),这将计算unix epoch开始的毫秒数。你知道吗
或者改变格式
格式:字符串,默认无 strftime解析时间,例如“%d/%m/%Y”,请注意“%f”将解析到纳秒。你知道吗
通过: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.to_datetime.html
同样有用:http://strftime.org/
相关问题 更多 >
编程相关推荐