在Python中操纵时间序列数据

  • Post category:Python

操纵时间序列数据在Python中很重要,本文将介绍在Python中如何操作时间序列数据。

获取日期数据

  1. 使用Python的datetime模块获取日期时间数据。
import datetime

# 获取当前日期时间
now = datetime.datetime.now()
print("Current date time: ", now)

# 获取指定日期时间
date = datetime.datetime(2021, 7, 22, 12, 10, 0)
print("Specified date time: ", date)
  1. 使用第三方库pandas获取日期时间数据。
import pandas as pd

# 获取当前日期时间
now = pd.datetime.now()
print("Current date time: ", now)

# 获取指定日期时间
date = pd.datetime(2021, 7, 22, 12, 10, 0)
print("Specified date time: ", date)

时间戳转换

  1. 将时间戳转换为日期时间。
import datetime

# 将时间戳转换为日期时间
timestamp = 1626969000
date_time = datetime.datetime.fromtimestamp(timestamp)
print("Date time: ", date_time)
  1. 将日期时间转换为时间戳。
import datetime

# 将日期时间转换为时间戳
date_time = datetime.datetime(2021, 7, 22, 12, 10, 0)
timestamp = datetime.datetime.timestamp(date_time)
print("Timestamp: ", timestamp)

日期格式化

使用strftime方法将日期时间格式化为字符串。

import datetime

# 将日期时间格式化为字符串
now = datetime.datetime.now()
date_str = now.strftime("%Y-%m-%d %H:%M:%S")
print("Date string: ", date_str)

时间序列运算

  1. 加减天数。
import datetime

# 加减天数
date = datetime.datetime(2021, 7, 22, 12, 10, 0)
days = 5
new_date = date + datetime.timedelta(days=days)
print("New date: ", new_date)
  1. 加减小时。
import datetime

# 加减小时
date = datetime.datetime(2021, 7, 22, 12, 10, 0)
hours = 3
new_date = date + datetime.timedelta(hours=hours)
print("New date: ", new_date)
  1. 加减分钟。
import datetime

# 加减分钟
date = datetime.datetime(2021, 7, 22, 12, 10, 0)
minutes = 30
new_date = date + datetime.timedelta(minutes=minutes)
print("New date: ", new_date)

日期时间差

import datetime

# 日期时间差
date1 = datetime.datetime(2021, 7, 22, 12, 10, 0)
date2 = datetime.datetime(2021, 7, 25, 8, 20, 0)
diff = date2 - date1
print("Time difference: ", diff)

使用pandas处理时间序列数据

  1. 创建一个包含时间序列数据的DataFrame。
import pandas as pd

# 创建DataFrame
data = {'date': ['2021-07-22', '2021-07-23', '2021-07-24', '2021-07-25'],
        'value': [20, 25, 30, 35]}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
print(df)
  1. 按照时间序列排序。
import pandas as pd

# 排序
data = {'date': ['2021-07-22', '2021-07-23', '2021-07-24', '2021-07-25'],
        'value': [20, 25, 30, 35]}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
df = df.sort_values(by='date')
print(df)
  1. 使用日期作为索引。
import pandas as pd

# 使用日期作为索引
data = {'date': ['2021-07-22', '2021-07-23', '2021-07-24', '2021-07-25'],
        'value': [20, 25, 30, 35]}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')
print(df)
  1. 根据时间序列进行筛选数据。
import pandas as pd

# 根据时间序列筛选数据
data = {'date': ['2021-07-22', '2021-07-23', '2021-07-24', '2021-07-25'],
        'value': [20, 25, 30, 35]}
df = pd.DataFrame(data)
df['date'] = pd.to_datetime(df['date'])
df = df.set_index('date')
start_date = pd.to_datetime('2021-07-23')
end_date = pd.to_datetime('2021-07-24')
filtered_df = df[(df.index >= start_date) & (df.index <= end_date)]
print(filtered_df)

以上就是在Python中操纵时间序列数据的完整攻略。