前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python DataFrame数据生成

python DataFrame数据生成

作者头像
多凡
发布2019-11-01 09:20:36
1.9K0
发布2019-11-01 09:20:36
举报
文章被收录于专栏:sringbootsringbootsringboot

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_44580977/article/details/101986166

前言: DataFrame是一个表格型的数据结构,既有行索引 index也有列索引columns,创建DataFrame的基本方法为df = pd.DataFrame(data, index=index,columns=columns),其中data参数的数据类型可以支持由列表、一维ndarray或Series组成的字典、字典组成的字典、二维ndarray等。如下图所示,基本上可以把DataFrame看成是Excel的表格形态:

在这里插入图片描述
在这里插入图片描述

接下来我们根据创建DataFrame的基本要求将data、index、columns这三个参数准备就绪。

关于列索引columns,我们将收盘价定义为“close”,涨跌幅定义为“price range”。

行索引index在此处表示为交易日期,Pandas提供了强大的处理日期数据的功能,我们使用pandas.date_range()生成DatetimeIndex格式的日期序列,其中参数包括:起始时间start、结束时间end、时期数量periods、日期间隔频率freq='M’月、'D’天、‘W’、周、'Y’年等等,此处生成从2010-01-01开始的1000个日期的时间序列,如下所示:

import pandas as pd
#生成日时间序列
dd=pd.date_range('2010-01-01',freq='D',periods=1000)
print(f'生成日时间序列:\n{dd}')
"""
生成日时间序列:
DatetimeIndex(['2010-01-01', '2010-01-02', '2010-01-03', '2010-01-04',
               '2010-01-05', '2010-01-06', '2010-01-07', '2010-01-08',
               '2010-01-09', '2010-01-10',
               ...
               '2012-09-17', '2012-09-18', '2012-09-19', '2012-09-20',
               '2012-09-21', '2012-09-22', '2012-09-23', '2012-09-24',
               '2012-09-25', '2012-09-26'],
              dtype='datetime64[ns]', length=1000, freq='D')"""
"""

关于data参数的类型,我们通过np.random.normal()返回的数据类型为’numpy.ndarray’,属于data参数支持的数据类型,于是我们将data、 index和columns三个参数传入创建DataFrame的方法中,就可以生成DataFrame格式的股票交易数据。此处以ndarray组成的字典形式创建DataFrame,字典每个键所对应的ndarray数组分别成为DataFrame的一列,共享同一个 index ,例程如下所示:

df_stock = pd.DataFrame({'close': stock_data, 'price range': pct_change}, index=dd)
print(f'股价交易数据:\n {df_stock.head()}')#打印前5行数据
"""
股价交易数据:
             close  price range
2010-01-01  10.59          NaN
2010-01-02   8.52        -0.20
2010-01-03   9.03         0.06
2010-01-04  10.33         0.14
2010-01-05  10.10        -0.02
"""

当我们得到了DataFrame格式的股票交易数据之后,就可以利用Pandas强大数据分析功能处理我们的数据,在后续的小节中会陆续介绍其中的各种方法。此处我们先通过Pandas封装的matplotlib绘图功能,绘制其中50个交易日收盘价曲线,用可视化的方式了解下随机漫步的股价走势,如下所示:

import matplotlib.pyplot as plt
#绘制收盘价
df_stock.close[100:150].plot(c='b')
plt.legend(['Close'],loc='best')
plt.show()
在这里插入图片描述
在这里插入图片描述

以上就是Pandas的核心—DataFrame数据结构的生成讲解。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档