本文共 1593 字,大约阅读时间需要 5 分钟。
如何将时间戳转换为日期对象?使用pandas的高效方法
在数据分析中,处理时间戳数据是常见任务之一。pandas提供了强大的工具,使得将时间戳转换为日期对象变得简便。本文将介绍如何利用pandas实现这一目标。
步骤说明
import pandas as pd
data = {'timestamp': [1597962000, 1597958000, 1597954000]}df = pd.DataFrame(data) pd.to_datetime()函数可以将时间戳转换为pandas的datetime对象。默认情况下,pd.to_datetime()会根据时间戳的单位自动检测。为了明确指定单位,我们可以将其设置为's'。df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')
.dt.date属性,我们可以从datetime对象中提取日期部分。df['date'] = df['datetime'].dt.date
import pandas as pd# 创建一个包含时间戳的DataFramedata = {'timestamp': [1597962000, 1597958000, 1597954000]}df = pd.DataFrame(data)# 将时间戳转换为datetime对象df['datetime'] = pd.to_datetime(df['timestamp'], unit='s')# 提取日期部分df['date'] = df['datetime'].dt.date# 打印结果print(df) 输出结果
timestamp datetime date0 1597962000 2020-08-21 13:20:00 2020-08-211 1597958000 2020-08-21 12:40:00 2020-08-212 1597954000 2020-08-21 12:10:00 2020-08-21
测试用例
为了验证代码的正确性,可以编写以下测试用例:
def test_timestamp_to_date(): data = {'timestamp': [1597962000, 1597958000, 1597954000]} df = pd.DataFrame(data) df['datetime'] = pd.to_datetime(df['timestamp'], unit='s') df['date'] = df['datetime'].dt.date assert df.iloc[0]['date'] == pd.Timestamp('2020-08-21').date() assert df.iloc[1]['date'] == pd.Timestamp('2020-08-21').date() assert df.iloc[2]['date'] == pd.Timestamp('2020-08-21').date()test_timestamp_to_date() 总结
通过以上步骤,我们成功地将时间戳转换为日期对象。pandas的高效功能使得这一过程变得简单易捷。希望以上内容对您有所帮助!
转载地址:http://anvfk.baihongyu.com/