您的位置:首页 > 编程语言 > Python开发

人工智能:python 实现 第十一章,使用Pandas处理时间序列数据

2018-02-28 20:28 971 查看

使用Pandas处理时间序列数据 

    让我们开始学习如何使用Pandas处理时间数据。在本节中,我们会将一队数字转换为时间序列和可视化。Pandas提供了添加时间戳,组织数据等选项,之后可以高效的操作它。

    创建一个新的python文档,完整代码如下:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#定义函数读入数据,参数index 代表包含相关数据的列数
def read_data(input_file,index):
input_data = np.loadtxt(input_file,delimiter=',')

#定义一个lambda函数将string转换为Pandas日期格式
to_date = lambda x,y:str(int(x))+'-'+str(int(y))

#提取起始时间
start = to_date(input_data[0,0],input_data[0,1])

#提取结束时间
if input_data[-1,1]==12:
year = input_data[-1,0]+1
month = 1
else:
year = input_data[-1,0]
month = input_data[-1,1]+1
end = to_date(year,month)

#创建一个时间列表
date_indices = pd.date_range(start,end,freq='M')
#添加时间戳到输入数据来创建时间序列数据
output = pd.Series(input_data[:,index],index = date_indices)
return output

#定义主函数
if __name__ == '__main__':
#输入文档名
input_file = 'data_2D.txt'

#指定需要转换的列数
indice = [2,3]

#迭代输入列数 并画出数据
for index in indice:
#将行转换为时间序列
timeseries = read_data(input_file,index)

#绘制数据
plt.figure()
timeseries.plot()
plt.title('Dimension'+str(index - 1))

plt.show();
运行结果如下:
数据在第一维的显示:



数据在第二维显示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: