📜  Python|熊猫时间戳.date(1)

📅  最后修改于: 2023-12-03 15:34:20.561000             🧑  作者: Mango

Python | 熊猫时间戳.date

简介

在Python中,日期时间处理是常见的操作。而其中的时间戳则是经常被使用的。熊猫(Pandas)是Python的一个重量级数据处理库,它提供了多种时间戳处理方法,可以方便地进行时间相关的数据操作,节省了我们不少的时间和精力。

熊猫时间戳

熊猫提供了两种时间戳处理类型:

  • Timestamp:表示某个具体的时间点(如2021-08-04 15:30:00),其内部是一个64位整数,可以进行时间相关的算术运算。
  • DatetimeIndex:表示一列时间戳组成的序列,可以作为DataFrame的索引使用。
示例
import pandas as pd

# 生成一个Timestamp对象
timestamp = pd.Timestamp('2021-08-04 15:30:00')
print(timestamp)
# Output: 2021-08-04 15:30:00

# 通过DatetimeIndex生成一列时间戳
index = pd.DatetimeIndex(['2021-08-04', '2021-08-05', '2021-08-06'])
print(index)
# Output: DatetimeIndex(['2021-08-04', '2021-08-05', '2021-08-06'], dtype='datetime64[ns]', freq=None)
常用操作

熊猫提供了丰富的时间戳处理方法,以下是一些常用的操作:

时间戳转化
# str转Timestamp
timestamp = pd.to_datetime('2021-08-04 15:30:00')
print(timestamp)
# Output: 2021-08-04 15:30:00

# Timestamp转str
str = timestamp.strftime('%Y-%m-%d %H:%M:%S')
print(str)
# Output: 2021-08-04 15:30:00
时间戳计算
# Timestamp加减
timestamp1 = pd.Timestamp('2021-08-04 15:30:00')
timestamp2 = timestamp1 + pd.Timedelta('1 day')
print(timestamp2)
# Output: 2021-08-05 15:30:00

# DatetimeIndex加减
index1 = pd.DatetimeIndex(['2021-08-04', '2021-08-05', '2021-08-06'])
index2 = index1 + pd.Timedelta('1 day')
print(index2)
# Output: DatetimeIndex(['2021-08-05', '2021-08-06', '2021-08-07'], dtype='datetime64[ns]', freq=None)
时间戳切片
# 根据时间范围截取DataFrame数据
df = pd.DataFrame({'date': pd.date_range('2021-08-04', '2021-08-06'), 'value': [1, 2, 3]})
df = df.set_index('date')
df = df.loc['2021-08-05': '2021-08-06']
print(df)
'''
Output:
            value
date             
2021-08-05      2
2021-08-06      3
'''
结语

熊猫的时间戳处理能力非常强大,通过它可以轻松完成常见的时间相关操作。当然,如果涉及到更为复杂的时间处理问题,也可以借助其他Python库的支持。