python时间序列函数的简单介绍

python数据分析时间序列如何提取一个月的数据

python做数据分析时下面就是提取一个月数据的教程1. datetime库

公司主营业务:网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出清丰免费做网站回馈大家。

1.1 datetime.date

1) datetime.date.today() 返回今日,输出的类型为date类

import datetime

today = datetime.date.today()

print(today)

print(type(today))

– 输出的结果为:

2020-03-04

class 'datetime.date'

将输出的结果转化为常见数据类型(字符串)

print(str(today))

print(type(str(today)))

date = str(today).split('-')

year,month,day = date[0],date[1],date[2]

print('今日的年份是{}年,月份是{}月,日子是{}号'.format(year,month,day))

– 输出的结果为:(转化为字符串之后就可以直接进行操作)

2020-03-04

class 'str'

今日的年份是2020年,月份是03月,日子是04号

2) datetime.date(年,月,日),获取当前的日期

date = datetime.date(2020,2,29)

print(date)

print(type(date))

– 输出的结果为:

2020-02-29

class 'datetime.date'

1.2 datetime.datetime

1) datetime.datetime.now()输出当前时间,datetime类

now = datetime.datetime.now()

print(now)

print(type(now))

– 输出的结果为:(注意秒后面有个不确定尾数)

2020-03-04 09:02:28.280783

class 'datetime.datetime'

可通过str()转化为字符串(和上面类似)

print(str(now))

print(type(str(now)))

– 输出的结果为:(这里也可以跟上面的处理类似分别获得相应的数据,但是也可以使用下面更直接的方法来获取)

2020-03-04 09:04:32.271075

class 'str'

2) 通过自带的方法获取年月日,时分秒(这里返回的是int整型数据,注意区别)

now = datetime.datetime.now()

print(now.year,type(now.year))

print(now.month,type(now.month))

print(now.day,type(now.day))

print(now.hour,type(now.hour))

print(now.minute,type(now.minute))

print(now.second,type(now.second))

print(now.date(),type(now.date()))

print(now.date().year,type(now.date().year))

– 输出的结果为:(首先注意输出中倒数第二个还是上面的datetime.date对象,这里是用来做时间对比的,同时除了这里的datetime.datetime有这种方法,datetime.date对象也有。因为此方法获取second是取的整型数据,自然最后的不确定尾数就被取整处理掉了)

2020 class 'int'

3 class 'int'

4 class 'int'

9 class 'int'

12 class 'int'

55 class 'int'

2020-03-04 class 'datetime.date'

2020 class 'int'

python时间序列(2)

时期(period)表示的是时间区间,比如数日、数月、数季、数年等。Period类所 表示的就是这种数据类型,其构造函数需要用到一个字符串或整数,以及表11-4中 的频率:

这里,这个Period对象表示的是从2007年1月1日到2007年12月31日之间的整段时间。

只需对Period对象加上或减去一个整数即可达到根据其频率进行位移的效果:

如果两个Period对象拥有相同的频率,则它们的差就是它们之间的单位数量:

period_range函数可用于创建规则的时期范围:

PeriodIndex类保存了一组Period,它可以在任何pandas数据结构中被用作轴索引:

如果你有一个字符串数组,你也可以使用PeriodIndex类:

Period和PeriodIndex对象都可以通过其asfreq方法被转换成别的频率。假设我们有 一个年度时期,希望将其转换为当年年初或年末的一个月度时期。该任务非常简 单:

你可以将Period('2007','A-DEC')看做一个被划分为多个月度时期的时间段中的游 标。图11-1对此进行了说明。

对于一个不以12月结束的财政年度,月度子时期的归属情况就不一样了:

在将高频率转换为低频率时,超时期(superperiod)是由子时期(subperiod)所 属的位置决定的。例如,在A-JUN频率中,月份“2007年8月”实际上是属于周期“2008年”的:

完整的PeriodIndex或TimeSeries的频率转换方式也是如此:

这里,根据年度时期的第一个月,每年的时期被取代为每月的时期。

如果我们想要 每年的最后一个工作日,我们可以使用“B”频率,并指明想要该时期的末尾:

未完待续。。。

Python时间序列timeline里的参数有哪些?

Python 中有多种用于处理时间序列的库,具体的参数取决于你使用的库。

例如,使用 Pandas 时间序列的创建可以使用的参数有:

- start: 起始时间

- end: 结束时间

- periods: 整数,表示生成的时间点的数量

- freq: 时间频率,例如 'D' 表示每天

- tz: 时区

- normalize: 布尔值,表示是否将时间设置为午夜

- name: 时间序列的名称

同样,其他时间序列库也有自己的参数设置。

python中时间序列数据的一些处理方式

datetime.timedelta对象代表两个时间之间的时间差,两个date或datetime对象相减就可以返回一个timedelta对象。

利用以下数据进行说明:

如果我们发现时间相关内容的变量为int,float,str等类型,不方便后面的分析,就需要使用该函数转化为常用的时间变量格式:pandas.to_datetime

转换得到的时间单位如下:

如果时间序列格式不统一,pd.to_datetime()的处理方式:

当然,正确的转换是这样的:

第一步:to_datetime()

第二步:astype(datetime64[D]),astype(datetime64[M])

本例中:

order_dt_diff必须是Timedelta('0 days 00:00:00')格式,可能是序列使用了diff()

或者pct_change()。

前者往往要通过'/np.timedelta'去掉单位days。后者其实没有单位。

假如我们要统计某共享单车一天内不同时间点的用户使用数据,例如

还有其他维度的提取,年、月、日、周,参见:

Datetime properties

注意 :.dt的对象必须为pandas.Series,而不可以是Series中的单个元素


网站名称:python时间序列函数的简单介绍
文章起源:http://azwzsj.com/article/doeojdo.html