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

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

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

11 ​​datetimedate​​

1) ​​datetimedatetoday()​​ 返回今日,输出的类型为date类

import datetime

today = datetimedatetoday()

print(today)

print(type(today))

–> 输出的结果为:

2020-03-04

<class 'datetimedate'>

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

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) ​​datetimedate(年,月,日)​​,获取当前的日期

date = datetimedate(2020,2,29)

print(date)

print(type(date))

–> 输出的结果为:

2020-02-29

<class 'datetimedate'>

12 ​​datetimedatetime​​

1) ​​datetimedatetimenow()​​输出当前时间,datetime类

now = datetimedatetimenow()

print(now)

print(type(now))

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

2020-03-04 09:02:28280783

<class 'datetimedatetime'>

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

print(str(now))

print(type(str(now)))

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

2020-03-04 09:04:32271075

<class 'str'>

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

now = datetimedatetimenow()

print(nowyear,type(nowyear))

print(nowmonth,type(nowmonth))

print(nowday,type(nowday))

print(nowhour,type(nowhour))

print(nowminute,type(nowminute))

print(nowsecond,type(nowsecond))

print(nowdate(),type(nowdate()))

print(nowdate()year,type(nowdate()year))

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

2020 <class 'int'>

3 <class 'int'>

4 <class 'int'>

9 <class 'int'>

12 <class 'int'>

55 <class 'int'>

2020-03-04 <class 'datetimedate'>

2020 <class 'int'>

题主是否想询问“python无法读取excel时间戳井字号怎么办”?方法如下:

1、通过手动把Excel调整为想要的格式后,保存为csv格式。

2、通过代码读取数据,即通过另存为csv来降低Excel数据的精度,这样子时间数据就转换为str格式。

python时间处理方法datetime(),下面就举几个代码案例进行说明,代码如下:

 # -- coding: utf-8 -- 

 # 运行环境:Python34

 #datetime类

 #datetime是date与time的结合体,包括date与time的所有信息。

 #它的构造函数如下:

 #datetime datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )

 #各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。

# 1 datetime类定义的类属性与方法:

#datetimemin、datetimemax:datetime所能表示的最小值与最大值;

#print: datetimemax: 9999-12-31 23:59:59999999

#print: datetimemin: 0001-01-01 00:00:00

from  datetime  import   

import time

print   ('datetimemax:' +str(datetimemax )) 

print   ('datetimemin:' +str(datetimemin))  

#datetimeresolution:datetime最小单位;

#print: datetimeresolution: 0:00:00000001

print   ('datetimeresolution:' + str(datetimeresolution ))

#datetimetoday():返回一个表示当前本地时间的datetime对象;

#print: today(): 2012-09-12 19:37:50721000

print   ('today():' +str(datetimetoday() ))

#datetimenow([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;

#print: now(): 2012-09-12 19:37:50738000

print   ('now():'+str( datetimenow() ))

#datetimeutcnow():返回一个当前utc时间的datetime对象;

#print: 2012-09-12 11:37:50739000

print   ('utcnow():' +str(datetimeutcnow() )) 

#datetimefromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;

#print: fromtimestamp(tmstmp): 2012-09-12 19:37:50741000

print   ('fromtimestamp(tmstmp):' +str(datetimefromtimestamp(timetime()) ))

#datetimeutcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;

#print: utcfromtimestamp(tmstmp): 2012-09-12 11:37:50742000

print   ('utcfromtimestamp(tmstmp):' +str(datetimeutcfromtimestamp(timetime())) )

#datetimecombine(date, time):根据date和time,创建一个datetime对象;

#print: datetimecombine(date,time):  2012-09-12 19:46:05

d = date(2012,9,12)

from  datetime  import   

t = time(19,46,5)

print ('datetimecombine(date,time): '+str(datetimecombine(d,t)))

#datetimestrptime(date_string, format):将格式字符串转换为datetime对象;

#print: 2007-03-04 21:08:12

print (datetimestrptime("2007-03-04 21:08:12", "%Y-%m-%d %H:%M:%S"))

#2 datetime类提供的实例方法与属性

dt = datetimestrptime("2012-09-12 21:08:12", "%Y-%m-%d %H:%M:%S")

#print: 2012 9 12 21 8 12 0 None

print (dtyear)

print(dtmonth)

print(dtday)

print(dthour)

print(dtminute)

print(dtsecond)

print(dtmicrosecond)

print(dttzinfo)

print (dtdate())

print (dttime())

print (dtreplace(year = 2013))

print (dttimetuple())

print (dtutctimetuple())

print (dttoordinal())

print (dtweekday())

print (dtisocalendar())

#print dtisoformat([sep])

#datetime ctime ():返回一个日期时间的C格式字符串,等效于timectime(timemktime(dttimetuple()));

#3 格式字符串

# datetime strftime (format)

# %a 星期的简写。如 星期三为Web

# %A 星期的全写。如 星期三为Wednesday

# %b 月份的简写。如4月份为Apr

# %B月份的全写。如4月份为April 

# %c:  日期时间的字符串表示。(如: 04/07/10 10:43:39)

# %d:  日在这个月中的天数(是这个月的第几天)

# %f:  微秒(范围[0,999999])

# %H:  小时(24小时制,[0, 23])

# %I:  小时(12小时制,[0, 11])

# %j:  日在年中的天数 [001,366](是当年的第几天)

# %m:  月份([01,12])

# %M:  分钟([00,59])

# %p:  AM或者PM

# %S:  秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)

# %U:  周在当年的周数当年的第几周),星期天作为周的第一天

# %w:  今天在这周的天数,范围为[0, 6],6表示星期天

# %W:  周在当年的周数(是当年的第几周),星期一作为周的第一天

# %x:  日期字符串(如:04/07/10)

# %X:  时间字符串(如:10:43:39)

# %y:  2个数字表示的年份

# %Y:  4个数字表示的年份

# %z:  与utc时间的间隔 (如果是本地时间,返回空字符串)

# %Z:  时区名称(如果是本地时间,返回空字符串)

# %%:  %% => %

dt = datetimenow()

#print: (%Y-%m-%d %H:%M:%S %f):  2012-09-12 23:04:27 145000

print ('(%Y-%m-%d %H:%M:%S %f): '+ str(dtstrftime('%Y-%m-%d %H:%M:%S %f')))

#print: (%Y-%m-%d %H:%M:%S %p):  12-09-12 11:04:27 PM

print ('(%Y-%m-%d %H:%M:%S %p): '+str(dtstrftime('%y-%m-%d %I:%M:%S %p')))

#print: %a: Wed 

print ('%%a: %s ' % dtstrftime('%a'))

#print: %A: Wednesday

print ('%%A: %s ' % dtstrftime('%A'))

#print: %b: Sep 

print ('%%b: %s ' % dtstrftime('%b'))

#print: %B: September

print ('%%B: %s ' % dtstrftime('%B'))

#print: 日期时间%c: 09/12/12 23:04:27

print ('日期时间%%c: %s ' % dtstrftime('%c'))

#print: 日期%x:09/12/12

print ('日期%%x:%s ' % dtstrftime('%x'))

#print: 时间%X:23:04:27

print ('时间%%X:%s ' % dtstrftime('%X'))

#print: 今天是这周的第3天

print ('今天是这周的第%s天 ' % dtstrftime('%w'))

#print: 今天是今年的第256天 

print ('今天是今年的第%s天 ' % dtstrftime('%j'))

#print: 今周是今年的第37周

print ('今周是今年的第%s周 ' % dtstrftime('%U'))

上面代码案例运行结果如下:

atetimemax:9999-12-31 23:59:59999999

datetimemin:0001-01-01 00:00:00

datetimeresolution:0:00:00000001

today():2014-05-04 15:58:18141186

now():2014-05-04 15:58:18193146

utcnow():2014-05-04 07:58:18243958

fromtimestamp(tmstmp):2014-05-04 15:58:18291558

utcfromtimestamp(tmstmp):2014-05-04 07:58:18342550

datetimecombine(date,time): 2012-09-12 19:46:05

2007-03-04 21:08:12

2012

9

12

21

8

12

0

None

2012-09-12

21:08:12

2013-09-12 21:08:12

timestruct_time(tm_year=2012, tm_mon=9, tm_mday=12, tm_hour=21, tm_min=8, tm_sec=12, tm_wday=2, tm_yday=256, tm_isdst=-1)

timestruct_time(tm_year=2012, tm_mon=9, tm_mday=12, tm_hour=21, tm_min=8, tm_sec=12, tm_wday=2, tm_yday=256, tm_isdst=0)

734758

2

(2012, 37, 3)

(%Y-%m-%d %H:%M:%S %f): 2014-05-04 15:58:19 326295

(%Y-%m-%d %H:%M:%S %p): 14-05-04 03:58:19 PM

%a: Sun 

%A: Sunday 

%b: May 

%B: May 

日期时间%c: Sun May  4 15:58:19 2014 

日期%x:05/04/14 

时间%X:15:58:19 

今天是这周的第0天 

今天是今年的第124天 

今周是今年的第18周

在进行新纪元时间(1970-01-01 00:00:00)以来的秒到实际时间之间转换的时候 MySQL 根据参数 time_zone 的设置有两种选择:

time_zone 设置为 SYSTEM 的话:使用 sys_time_zone 获取的 OS 会话时区,同时使用 OS API 进行转换。对应转换函数 Time_zone_system::gmt_sec_to_TIME

time_zone 设置为实际的时区的话:比如 ‘+08:00’,那么使用使用 MySQL 自己的方法进行转换。对应转换函数 Time_zone_offset::gmt_sec_to_TIME

实际上 Time_zone_system 和 Time_zone_offset 均继承于 Time_zone 类,并且实现了 Time_zone 类的虚函数进行了重写,因此上层调用都是 Time_zone::gmt_sec_to_TIME。

我们通过文件属性的获取,osstat() 方法:

>>> import os

>>> statinfo=osstat(r"C:/1txt")

>>> statinfo

(33206, 0L, 0, 0, 0, 0, 29L, 1201865413, 1201867904, 1201865413)

使用osstat的返回值statinfo的三个属性获取文件的创建时间等

st_atime (访问时间), st_mtime (修改时间), st_ctime(创建时间),例如,取得文件修改时间:

>>> statinfost_mtime

12018654138952832

这个时间是一个linux时间戳,需要转换一下

使用time模块中的localtime函数可以知道:

>>> import time

>>> timelocaltime(statinfost_ctime)

(2008, 2, 1, 19, 30, 13, 4, 32, 0)

2008年2月1日的19时30分13秒(2008-2-1 19:30:13)

不可能得到足够细致的控制,你可以完全消除这种可能性 重复时间戳 - 您需要的分辨率小于生成日期时间对象所需的时间。您可能需要采取其他一些方法来处理它:

处理它。让您的时间戳不是唯一的,但依赖于python的排序稳定处理重新排序的问题。首先在时间戳上排序,然后其他内容将保留时间戳排序 - 您必须小心始终始终从时间戳排序列表开始,而不是在同一列表上进行多种排序。

追加自己的价值来强制实现唯一性。例如。包括一个递增的整数值作为键的一部分,或者仅在时间戳不同时附加这样的值。

在C++中,可以使用std::chrono::time_point类型来表示日期和时间,这种类型是用于高精度时间的C++标准库类型。它可以表示不同的时钟,包括系统时钟,高精度时钟和低分辨率时钟等。要将Python中的datetime对象转换为C++中的time_point类型,您需要使用C++的时间库来创建time_point对象,并将Python datetime对象的时间戳(timestamp)转换为C++的duration类型,以便在创建time_point对象时使用。

以上就是关于python数据分析时间序列如何提取一个月的数据全部的内容,包括:python数据分析时间序列如何提取一个月的数据、python无法读取excel时间戳井字号、python datetime处理时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9610071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存