54 pandas 时间序列- pd.Timestamp时间戳的属性方法(详细)(tcy)
时间/日期组件 - pd.Timestamp时间戳1.1函数:class pd.Timestamp(ts_input, freq=None, tz=None, unit=None,year=None, month=None, day=None, hour=None, minute=None,second=None, microsecond=None, nanosecond=None,...
·
时间/日期组件 - pd.Timestamp时间戳
1.1函数:
class pd.Timestamp(ts_input, freq=None, tz=None, unit=None,
year=None, month=None, day=None, hour=None, minute=None,
second=None, microsecond=None, nanosecond=None, tzinfo=None)#时间戳 ;替换datetime.datetime
1.2参数:
ts_input:datetime-like,str,int,float#要转换为时间戳的值
freq: str,DateOffset
tz: str,pytz.timezone,dateutil.tz.tzfile或None#时间时区
unit : str#如ts_input为int或float,则用于转换的单位。该有效值为'D','h','m','s','ms','us'和'ns'
year, month, day : int
hour, minute, second, microsecond : int, optional, default 0
nanosecond: int,optional,默认值为0
tzinfo: datetime.tzinfo,可选,默认无
2.构造方法:
# 实例1:日期时间的字符串
pd.Timestamp('2019-01-01T12') # Timestamp('2019-01-01 12:00:00')
pd.Timestamp('2019-01-16 20:22:2')# Timestamp('2019-01-16 20:22:02')
# 实例2:以秒为单位转换表示Unix纪元的浮点数
pd.Timestamp(1513393355.5, unit='s')# Timestamp('2019-12-16 03:02:35.500000')
pd.Timestamp(1513393355, unit='s', tz='US/Pacific')#特定时区
# Timestamp('2019-12-15 19:02:35-0800', tz='US/Pacific')
#实例3:模仿datetime.datetime:通过位置或关键字,不能两者混合
pd.Timestamp(2019, 1, 16, 20,26,30) #Timestamp('2019-01-16 20:26:30')
pd.Timestamp(year=2019, month=1, day=16, hour=20,
minute=28, second=30, microsecond=30)#Timestamp('2019-01-16 20:28:30.000030')
3.属性:
d=pd.Timestamp.now()
d=pd.Timestamp(d,tz='Asia/Shanghai')
d# Timestamp('2019-01-16 20:41:19.035134+0800', tz='Asia/Shanghai')
d.tz # <DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>
d.tzinfo# <DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>
d.day_name#替代d.weekday_name
# <bound method Timestamp.day_name of Timestamp('2019-01-16 20:41:19.035134+0800', tz='Asia/Shanghai')>
d.asm8# numpy.datetime64('2019-01-16T12:41:19.035134000')
d.weekofyear # 3
d.dayofweek # 2周三
d.dayofyear # 16
d.days_in_month# 31
d.daysinmonth # 31
d.day # 16
d.microsecond # 35134
d.minute # 41
d.month # 1
d.nanosecond # 0
d.quarter# 1
d.second# 19
d.week # 3
d.year # 2019
d.hour # 20
d.fold# 0
d.freq
d.freqstr
d.is_leap_year # False
d.is_month_end # False
d.is_month_start # False
d.is_quarter_end # False
d.is_quarter_start# False
d.is_year_end # False
d.is_year_start # False
d.value# 1547642479035134000
4.方法:
d=pd.Timestamp.now()
d=pd.Timestamp(d,tz='Asia/Shanghai')
d # Timestamp('2019-01-16 20:41:19.035134+0800', tz='Asia/Shanghai')
d.astimezone('UTC') # Timestamp('2019-01-16 12:41:19.035134+0000', tz='UTC')
d.ceil(pd.tseries.offsets.Day(2))# Timestamp('2019-01-18 00:00:00+0800', tz='Asia/Shanghai')
d.ctime() # 'Wed Jan 16 20:41:19 2019'
d.day_name() # 'Wednesday'
d.dst() # datetime.timedelta(0)
d.floor('2D') # Timestamp('2019-01-16 00:00:00+0800', tz='Asia/Shanghai')不太明白?
d.timestamp() # 1547642479.035134
d.fromtimestamp(1547642479.035134)# Timestamp('2019-01-16 20:41:19.035134')
d.utcfromtimestamp(d.timestamp()) # Timestamp('2019-01-16 12:41:19.035134')
d.toordinal() # 737075
d.fromordinal(d.toordinal())# Timestamp('2019-01-16 00:00:00')
d.isocalendar()# (2019, 3, 3)
d.round('D') # Timestamp('2019-01-17 00:00:00+0800', tz='Asia/Shanghai')
d.timetuple # <function Timestamp.timetuple>
d.timetuple()# time.struct_time(tm_year=2019, tm_mon=1, tm_mday=16, tm_hour=20, tm_min=41, tm_sec=19, tm_wday=2, tm_yday=16, tm_isdst=0)
d.to_datetime64()# numpy.datetime64('2019-01-16T12:41:19.035134000')
d.to_julian_date()# 2458500.3620258695
d.tzname() # 'CST'
d.isoformat()# '2019-01-16T20:41:19.035134+08:00'
5.实例:Series,DataFrame.dt访问时间戳属性方法
rng = pd.date_range('2019-01-01', '2019-01-03',freq='1D') #'2h30min' 'WOM-3FRI'每月第3个周五
s = pd.Series(pd.date_range('2019-01-01', '2019-01-03'))
s
'''''''''
0 2019-01-01
1 2019-01-02
2 2019-01-03
dtype: datetime64[ns]
'''
s.dt.day_name()
'''''''''
0 Tuesday
1 Wednesday
2 Thursday
dtype: object
'''
s.dt.day
'''''''''
0 1
1 2
2 3
dtype: int64
'''
更多推荐

所有评论(0)