Python Pandas.to_datetime()
当csv文件被导入并形成一个数据框架时,文件中的日期时间对象被读取为字符串对象,而不是日期时间对象,因此,对字符串而不是日期时间对象进行时间差等操作非常困难。Pandas to_datetime()方法有助于将字符串日期时间转换成Python日期时间对象。
语法:
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)
参数:
arg: 一个整数、字符串、浮点数、列表或dict对象,用于转换为Date时间对象。
dayfirst: 布尔值,如果为真,则将日期放在首位。
yearfirst: 布尔值,如果为真,则将年份放在前面。
utc: 布尔值,如果为真,则返回UTC的时间。
format: 字符串输入,告诉日、月、年的位置。
返回类型: 日期时间对象系列。
例子#1:字符串到日期
在下面的例子中,一个csv文件被读取,数据框架的日期列从一个字符串对象转换为日期时间对象。
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("todatetime.csv")
# overwriting data after changing format
data["Date"]= pd.to_datetime(data["Date"])
# info of data
data.info()
# display
data
输出:
如图所示,Date列的数据类型是对象,但在使用to_datetime()后,它被转换为一个日期时间对象。
Before operation-
After Operation-
例子#2:转换时间时出现异常
时间对象也可以用这个方法进行转换。但是由于在时间列中,并没有指定日期,因此在这种情况下,Pandas会自动将今天的日期放入。
# importing pandas package
import pandas as pd
# making data frame from csv file
data = pd.read_csv("todatetime.csv")
# overwriting data after changing format
data["Time"]= pd.to_datetime(data["Time"])
# info of data
data.info()
# display
data
输出:
如输出中所示,一个属于今天的日期(2018-07-07)已经被添加到Date时间对象中。