Pandas统计分析(转换与处理时间序列数据)

转换与处理时间序列数据

  • pandas时间相关的类
    • Timestamp类型
    • Timestamp的属性
  • Period类型
  • DatetimeIndex与PeriodIndex函数
    • 参数
    • DatetimeIndex
    • PeriodIndex
    • Timedelta
  • 课堂案例:

pandas时间相关的类

Pandas统计分析(转换与处理时间序列数据)_第1张图片

Timestamp类型

时间相关的字符串多数情况都会转换成Timestamp

Pandas统计分析(转换与处理时间序列数据)_第2张图片
注意:Timestamp类型时间是有限制的。
Pandas统计分析(转换与处理时间序列数据)_第3张图片

Timestamp的属性

Pandas统计分析(转换与处理时间序列数据)_第4张图片

结合Python列表推导式,可以实现对DataFrame某一列时间信息数据的提取。
Pandas统计分析(转换与处理时间序列数据)_第5张图片
Pandas统计分析(转换与处理时间序列数据)_第6张图片

Period类型

表示时间跨度,某一年,某一月,某一小时等,是一个具体的时间段。
可以把Timestamp理解为时间段,是一个最小单位的时间段。
Pandas统计分析(转换与处理时间序列数据)_第7张图片
注:A-DEC表示年。

DatetimeIndex与PeriodIndex函数

Pandas统计分析(转换与处理时间序列数据)_第8张图片

参数

Pandas统计分析(转换与处理时间序列数据)_第9张图片

DatetimeIndex

Pandas统计分析(转换与处理时间序列数据)_第10张图片

PeriodIndex

Timedelta

是时间相关类的一种异类,区别于Period类。
表示一段时间,不特指某一段时间。
Pandas统计分析(转换与处理时间序列数据)_第11张图片
使用Timedelta,可以轻松地实现在某个时间上加减一段时间。
还可以直接对两个时间序列进行相减,从而得出一个Timedelta。
Pandas统计分析(转换与处理时间序列数据)_第12张图片
Pandas统计分析(转换与处理时间序列数据)_第13张图片

课堂案例:

#将数据中所有值相同的删除
for i in data.columns:
	if data[i].value_counts().empty:
		data.drop(labels=i,axis=1,inplace=True)
	elif len(data[i].value_counts())==1:
		data.drop(labels=i,axis=1,inplace=True)

# 删除后12行的记录,但不改变原有的DataFrame
data1 = data.drop(labels=data.index[-12:],axis=0,inplace=False)

与时间相关操作

#把每天温度大于28度的时间段打印出来
print(data.loc[data['Temp']>28,['Time','Temp']])
#把最高温的时间打印出来
print(data.loc[data['Temp'].sort_values().index[-1],['Time','Temp']])
#把最低温度的时间打印出来
print(data.loc[data['Temp']==data['Temp'].min(),['Time','Temp']])
#统计全月的平均温度值
print('全月均值为:\n',data['Temp'].mean())
#统计全天平均气温
timeindex = pd.DatetimeIndex(data['Time'])
for i in range(30):
	print('4月%d日的平均气温为:%.2f'%((i+1),data.loc[timeindex.day ==i+1,'Temp'].mean()))

你可能感兴趣的:(Python数据分析)