如何在Pandas中把数据时间转换为日期

如何在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)

输出:

如何在Pandas中把数据时间转换为日期?

我们还可以通过使用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)

输出:

如何在Pandas中把数据时间转换为日期?

方法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)

输出:

如何在Pandas中把数据时间转换为日期?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程