操纵时间序列数据在Python中很重要,本文将介绍在Python中如何操作时间序列数据。
获取日期数据
- 使用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)
- 使用第三方库
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)
时间戳转换
- 将时间戳转换为日期时间。
import datetime
# 将时间戳转换为日期时间
timestamp = 1626969000
date_time = datetime.datetime.fromtimestamp(timestamp)
print("Date time: ", date_time)
- 将日期时间转换为时间戳。
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)
时间序列运算
- 加减天数。
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)
- 加减小时。
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)
- 加减分钟。
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处理时间序列数据
- 创建一个包含时间序列数据的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)
- 按照时间序列排序。
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)
- 使用日期作为索引。
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)
- 根据时间序列进行筛选数据。
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中操纵时间序列数据的完整攻略。