如何在Pandas中把数据时间转换为日期
DateTime是一个日期和时间的集合,格式为 “yyyy-mm-dd HH:MM:SS”,其中yyyy-mm-dd被称为日期,HH:MM:SS被称为时间。
- yyyy代表年份
- mm代表月份
- dd代表日期
- HH代表小时
- MM代表的是分钟
- SS代表的是秒
在这篇文章中,我们将讨论在pandas中把DateTime转换为日期。为此,我们将使用Pandas Python模块从DateTime中提取唯一的日期。
语法:
pd.DataFrame(data)
其中data是输入的DateTime数据。
示例: Python程序创建具有5个日期值的pandas数据框架并显示
# importing pandas module
import pandas as pd
# create pandas DataFrame with one column with five
# datetime values through a dictionary
df = pd.DataFrame({'DateTime': ['2021-01-15 20:02:11',
'1989-05-24 20:34:11',
'2020-01-18 14:43:24',
'2021-01-15 20:02:10',
'1999-04-04 20:34:11']})
# display
print(df)
输出:
DateTime
0 2021-01-15 20:02:11
1 1989-05-24 20:34:11
2 2020-01-18 14:43:24
3 2021-01-15 20:02:10
4 1999-04-04 20:34:11
方法1:使用日期函数
通过使用date方法和pandas,我们可以得到日期。
语法:
dataframe[‘Date’] = pd.to_datetime(dataframe[‘DateTime’]).dt.date
其中,
- dataframe是输入数据帧
- to_datetime是用于将日期时间字符串转换为日期时间的函数。
- DateTime是数据框架中的日期时间列。
- dt.date用于将日期时间转换为日期。
- Date列是新的列,用于从数据时间中获取日期。
例子: Python程序使用pandas通过date函数将日期时间转换为日期。
# importing pandas module
import pandas as pd
# create pandas DataFrame with one column with five
# datetime values through a dictionary
df = pd.DataFrame({'DateTime': ['2021-01-15 20:02:11',
'1989-05-24 20:34:11',
'2020-01-18 14:43:24',
'2021-01-15 20:02:10',
'1999-04-04 20:34:11']})
print("Original data")
print(df)
# convert datetime column to just date
df['Date'] = pd.to_datetime(df['DateTime']).dt.date
# display
print("Only date")
print(df)
输出:
我们还可以通过使用dtypes获得数据类型
例子:Python程序来获取数据类型
# importing pandas module
import pandas as pd
# create pandas DataFrame with one column with five
# datetime values through a dictionary
df = pd.DataFrame({'DateTime': ['2021-01-15 20:02:11',
'1989-05-24 20:34:11',
'2020-01-18 14:43:24',
'2021-01-15 20:02:10',
'1999-04-04 20:34:11']})
print("---------Original data------------")
print(df.dtypes)
# convert datetime column to just date
df['Date'] = pd.to_datetime(df['DateTime']).dt.date
# display
print("--------Only date---------")
print(df.dtypes)
输出:
方法2:使用normalize()方法
我们也可以通过使用normalize()方法来获得数据,这个方法是通过从DateTime中提取日期来实现数据的标准化。我们正在使用normalize()方法通过pandas获得数据
语法:
dataframe[‘Date’] = pd.to_datetime(dataframe[‘DateTime’]).dt.normalize()
其中,
- dataframe是输入数据帧
- to_datetime是用于将日期时间字符串转换为日期时间的函数。
- DateTime是数据框架中的日期时间列。
- dt.normalize() 是用于将数据时间转换为日期的函数。
- Date列是新的列,用于从数据时间中获取日期。
示例: Python代码使用pandas normalize()方法将数据时间转换为日期。
# importing pandas module
import pandas as pd
# create pandas DataFrame with one column with five
# datetime values through a dictionary
df = pd.DataFrame({'DateTime': ['2021-01-15 20:02:11',
'1989-05-24 20:34:11',
'2020-01-18 14:43:24',
'2021-01-15 20:02:10',
'1999-04-04 20:34:11']})
print("Original data")
print(df)
# convert datetime column to just date using normalize()
# method
df['Date'] = pd.to_datetime(df['DateTime']).dt.normalize()
# display
print("date extracted")
print(df)
输出: