使用带有时间戳的 pandas to_datetime
在本文中,我们将使用 pandas 包中的 to_datetime() 方法将时间戳转换为日期时间。时间戳是编码信息或一组识别特定事件何时发生的字符,给出日期和时间,可以精确到几分之一秒。
Syntax:
pandas.to_datetime(arg, errors=’raise’, dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin=’unix’, cache=False)
Parameters:
- arg: An integer, string, float, list or dict object to convert in to Date time object.
- dayfirst: Boolean value, places day first if True.
- yearfirst: Boolean value, places year first if True.
- utc: Boolean value, Returns time in UTC if True.
- format: String input to tell position of day, month and year.
示例 1:带有 to_datetime 的时间戳。
在这里,我们在使用 pandas.read_csv() 读取文件内容后,使用 pandas.DataFrame() 方法将 CSV 文件转换为数据帧,数据数据帧中的时间戳列作为 to_datetime() 中的参数给出转换为日期时间。 unit='s' 用于在将值转换为 DateTime 后将时间戳列的值转换为纪元时间,它存储在 Dataframe 中名为“Datetime”的列中。
使用的文件:
代码:
Python3
# import packages
import pandas as pd
# creating a dataframe from the csv file
data = pd.DataFrame(pd.read_csv('timestamps.csv'))
# viewing our dataframe
print("Original dataframe")
display(data)
# unit='s' to convert it into epoch time
data['Datetime'] = pd.to_datetime(data['timestamps'],
unit='s')
# checking our dataframe once again
print("Timestamps")
display(data)
Python3
# import packages
import pandas as pd
import datetime
# creating a dataframe from the csv file
data = pd.DataFrame(pd.read_csv('timestamps.csv'))
# unit='s' to convert it into epoch time
data['Datetime'] = pd.to_datetime(data['timestamps'],
unit='s')
data['Modified Datetime'] = data['Datetime'].dt.strftime('%d-%m-%Y %H:%M')
# checking our dataframe once again
display(data)
Python3
# import packages
import pandas as pd
# unit='ms' to calculate the number
# of milliseconds
date = pd.to_datetime(1550767605,
unit = 'ms')
# checking our dataframe once again
print(date)
输出:
示例 2:格式化日期时间列。
代码与前面的示例相同,附加组件正在格式化“DateTime”列。可以使用将字符串作为参数的 strftime() 进一步修改上一个示例中的 Datetime 列。 strftime() 返回一个由 date_format 指定的格式化字符串的索引,它支持与Python标准库相同的字符串格式。
Syntax: strftime(format)
代码:
蟒蛇3
# import packages
import pandas as pd
import datetime
# creating a dataframe from the csv file
data = pd.DataFrame(pd.read_csv('timestamps.csv'))
# unit='s' to convert it into epoch time
data['Datetime'] = pd.to_datetime(data['timestamps'],
unit='s')
data['Modified Datetime'] = data['Datetime'].dt.strftime('%d-%m-%Y %H:%M')
# checking our dataframe once again
display(data)
输出:
示例 3:在 to_datetime() 方法中使用 unit='ms'。
pd.to_datetime() 方法以时间戳作为参数和 unit='ms',计算 Unix 纪元开始的毫秒数。
蟒蛇3
# import packages
import pandas as pd
# unit='ms' to calculate the number
# of milliseconds
date = pd.to_datetime(1550767605,
unit = 'ms')
# checking our dataframe once again
print(date)
输出:
1970-01-18 22:46:07.605000