pandas处理时间序列数据

这篇博客介绍了如何使用Pandas库处理时间序列数据。通过`pd.date_range()`生成时间索引,并展示了如何对时间序列进行切片索引。此外,还演示了在存在重复索引时,如何利用`groupby(level=0)`进行数据聚合操作。
摘要由CSDN通过智能技术生成
import pandas as pd
import numpy as np

# 实际应用中经常需要对时间进行一系列处理,Pandas 包含了许多关于时间序列的工具,使其非常适于处理时间序列
'''
numpy.random.randn(d0,d1,…,dn):
randn函数返回一个或一组样本,具有标准正态分布。
dn表格每个维度
返回值为指定维度的array

pandas.date_range()这个函数主要是返回固定频率的时间索引,
date_range中默认以天为频率,如果我们需要其他单位的频率必须用freq这个参数指定,并且可以是基础频率的倍数。
这里为根据开始时间和指定数量生成
'''
time = pd.Series(np.random.randn(8), index=pd.date_range('2018-06-01', periods=8))
print(pd.date_range('2018-06-01', periods=8))
print(time)

# 对于时间序列的数据,可灵活地通过时间范围对数据进行切片索引
print(time['2018-06-03'])
print(time['2018/06/03'])
print(time['2018-06-03':'2018-06-06'])
print(time['2018-06'])

# 对于带有重复索引的时间序列,可以通过groupby()对数据进行聚合
dates = pd.DatetimeIndex(['2018-06-06', '2018-06-07',
                          '2018-06-07','2018-06-07',
                          '2018-06-08','2018-06-09'])
print("dates:", dates)
time = pd.Series(np.arange(6),index=dates)
print(time)
# groupby():当分组对象(索引)是重复的时候[即日期可能是重复的], 那么level = 0则将索引是一样的分开了
print(time.groupby(level=0).sum())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值