用Python Pandas编写程序从datetime列中分离日期和时间

用Python Pandas编写程序从datetime列中分离日期和时间

假设您有一个数据框中的datetime列,并将分离日期和时间的结果如下,

   datetime    date          time
0 2020-01-01 07:00:00 2020-01-06 07:00:00
1 2020-01-02 07:00:00 2020-01-06 07:00:00
2 2020-01-03 07:00:00 2020-01-06 07:00:00
3 2020-01-04 07:00:00 2020-01-06 07:00:00
4 2020-01-05 07:00:00 2020-01-06 07:00:00
5 2020-01-06 07:00:00 2020-01-06 07:00:00
Python

为了解决这个问题,我们将采用以下方法:

解决方案1

  • 使用pd.date_range()定义包含’datetime’列的数据框。如下所定义,
pd.DataFrame({'datetime':pd.date_range('2020-01-01 07:00',periods=6)})
Python
  • 设置一个for循环d变量以逐一访问df[‘datetime’]列。

  • 从for循环中转换日期和时间并将其保存为df[‘date’]和df[‘time’]。如下所定义,

for d in df['datetime']:
   df['date'] = d.date()
   df['time'] = d.time()
Python

示例

检查以下代码以更好地理解-

import pandas as pd
df = pd.DataFrame({'datetime':pd.date_range('2020-01-01 07:00',periods=6)})
print ( "数据框是:\n"  df )
for d in df['datetime']:
   df['date'] = d.date()
   df['time'] = d.time()
print(df)
Python

输出

数据框是:
             datetime
0 2020-01-01 07:10:00
1 2020-01-02 07:10:00
2 2020-01-03 07:10:00
3 2020-01-04 07:10:00
4 2020-01-05 07:10:00
5 2020-01-06 07:10:00
日期 - 时间 - 小时 - 分钟:
             datetime    date      time
0 2020-01-01 07:10:00 2020-01-06 07:10:00
1 2020-01-02 07:10:00 2020-01-06 07:10:00
2 2020-01-03 07:10:00 2020-01-06 07:10:00
3 2020-01-04 07:10:00 2020-01-06 07:10:00
4 2020-01-05 07:10:00 2020-01-06 07:10:00
5 2020-01-06 07:10:00 2020-01-06 07:10:00
Python

解决方案2

  • 定义一个数据框

  • 在df[‘datetime’]中使用pd.to_datetime()函数并选择dt.date进行选择,然后将其保存为df[‘date’]

  • 在df[‘datetime’]中使用pd.to_datetime()函数并选择dt.time进行选择,然后将其保存为df[‘time’]

示例

检查以下代码以更好地理解-

“`python import pandas as pd
df = pd.DataFrame({'datetime':pd.date_range('2020-01-01 07:10',periods=6)})
print("数据框是:\n", df)
df['date'] = pd.to_datetime(df['datetime']).dt.date
df['time'] = pd.to_datetime(df['datetime']).dt.time
print("日期 – 时间 – 小时 – 分钟:\n", df)
“`

输出

“`python 数据框是:
             datetime
0 2020-01-01 07:10:00
1 2020-01-02 07:10:00
2 2020-01-03 07:10:00
3 2020-01-04 07:10:00
4 2020-01-05 07:10:00
5 2020-01-06 07:10:00
日期 – 时间 – 小时 – 分钟:
             datetime    date      time
0 2020-01-01 07:10:00 2020-01-06 07:10:00
1 2020-01-02 07:10:00 2020-01-06 07:10:00
2 2020-01-03 07:10:00 2020-01-06 07:10:00
3 2020-01-04 07:10:00 2020-01-06 07:10:00
4 2020-01-05 07:10:00 2020-01-06 07:10:00
5 2020-01-06 07:10:00 2020-01-06 07:10:00
“`

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册