如何在Pandas DataFrame中把浮点数转换为数据时间
Pandas Dataframe提供了改变列值的数据类型的自由。我们可以将它们从整数改为浮点类型,整数改为日期时间,字符串改为整数,浮点改为日期时间,等等。为了将浮点数转换为DateTime,我们使用pandas.to_datetime()函数,并使用以下语法。
语法: 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)
例子1:使用pandas.to_datetime()将一列从浮动数据转换为’yyyymmdd’格式
# importing pandas library
import pandas as pd
# Initializing the nested list
# with Data set
player_list = [[20200112.0,'Mathematics'],
[20200114.0,'English'],
[20200116.0,'Physics'],
[20200119.0,'Chemistry'],
[20200121.0,'French'],
[20200124.0,'Biology'],
[20200129.0,'Sanskrit']]
# creating a pandas dataframe
df = pd.DataFrame(player_list,columns=['Dates','Test'])
# printing dataframe
print(df)
print()
# checking the type
print(df.dtypes)
输出:
改变数据类型后。
# converting the float to datetime format
df['Dates'] = pd.to_datetime(df['Dates'], format='%Y%m%d')
# printing dataframe
print(df)
print()
print(df.dtypes)
输出:
在上面的例子中,我们将列 “Dates “的数据类型从 “float64 “改为 “datetime64[ns]”类型。
例子2:如果数据框架列是yymmdd*格式,我们必须将其转换为yymmdd*格式。
# importing pandas library
import pandas as pd
# Initializing the nested list with
# Data set
player_list = [[180112.0,'Mathematics'],
[180114.0,'English'],
[180116.0,'Physics'],
[180119.0,'Chemistry'],
[180121.0,'French'],
[180124.0,'Biology'],
[180129.0,'Sanskrit']]
# creating a pandas dataframe
df = pd.DataFrame(player_list,columns=['Dates','Test'])
# printing dataframe
print(df)
print()
# checking the type
print(df.dtypes)
输出:
改变数据类型后。
# converting the float to datetime format
df['Dates'] = pd.to_datetime(df['Dates'], format='%y%m%d')
# printing dataframe
print(df)
print()
print(df.dtypes)
输出:
在上面的例子中,我们将列 “日期 “的数据类型从 “float64 “改为 “datetime64[ns]”,格式从 “yymmdd “改为 “yyyymmdd”。
例子3:当我们必须将浮动列转换为日期和时间格式时
# importing pandas library
import pandas as pd
# Initializing the nested list with Data set
player_list = [[20200112082520.0,'Mathematics'],
[20200114085020.0,'English'],
[20200116093529.0,'Physics'],
[20200119101530.0,'Chemistry'],
[20200121104060.0,'French'],
[20200124113541.0,'Biology'],
[20200129125023.0,'Sanskrit']]
# creating a pandas dataframe
df = pd.DataFrame(player_list,columns=['Dates','Test'])
# printing dataframe
print(df)
print()
# checking the type
print(df.dtypes)
输出:
改变数据类型后。
# converting the float to datetime format
df['Dates'] = pd.to_datetime(df['Dates'], format='%Y%m%d%H%M%S')
# printing dataframe
print(df)
print()
print(df.dtypes)
输出:
在上面的例子中,我们将列 “Dates “的数据类型从 “float64 “改为 “datetime64[ns]”,格式改为日期和时间。
例子4:使用pandas.to_datetime()将多列从浮动格式转换为**’yyyymmdd*’格式
# importing pandas library
import pandas as pd
# Initializing the nested list with Data set
player_list = [[20200112.0,'Mathematics',20200113.0],
[20200114.0,'English',20200115.0],
[20200116.0,'Physics',20200117.0],
[20200119.0,'Chemistry',20200120.0],
[20200121.0,'French',20200122.0],
[20200124.0,'Biology',20200125.0],
[20200129.0,'Sanskrit',20200130.0]]
# creating a pandas dataframe
df = pd.DataFrame(player_list,columns=['Starting_Date','Test','Ending_Date'])
# printing dataframe
print(df)
print()
# checking the type
print(df.dtypes)
输出:
改变数据类型后。
# converting the float to datetime format
# in multiple columns
df['Starting_Date'] = pd.to_datetime(df['Starting_Date'],
format='%Y%m%d')
df['Ending_Date'] = pd.to_datetime(df['Ending_Date'],
format='%Y%m%d')
# printing dataframe
print(df)
print()
print(df.dtypes)
输出:
在上面的例子中,我们将列’Starting_Date’和’Ending_Date’的数据类型从’float64’改为’datetime64[ns]’类型。