用Python Pandas编写程序从datetime列中分离日期和时间
假设您有一个数据框中的datetime列,并将分离日期和时间的结果如下,
为了解决这个问题,我们将采用以下方法:
解决方案1
- 使用pd.date_range()定义包含’datetime’列的数据框。如下所定义,
- 设置一个for循环d变量以逐一访问df[‘datetime’]列。
-
从for循环中转换日期和时间并将其保存为df[‘date’]和df[‘time’]。如下所定义,
示例
检查以下代码以更好地理解-
输出
解决方案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
“`