Python数据分析-Pandas 数据计算和展示

206 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第 16 天,点击查看活动详情

1 前言

在前文中我们已经讲述了 pandas 处理数据的一些内容,在本文中将继续分享与数据分析和图形展示相关的内容, 在本文中将从多坐标轴展示、数据累计计算和数据统计的方面来分享。

2 数据多坐标展示

在本例中,将挑选两只股票作为对比进行展示,一般情况下数据都是在同一坐标轴下进行展示,如果两者的差距比较大,那么显示的图像就会有所差异。现在先做数据在同一坐标轴的展示问题:

还是按照原来的做法,先进行数据的获取和数据计算,提取数据展示所需要的字段,并且将数据的收盘价的名称进行替换,最后通过 merge 方法进行数据的合并,最后将数据的索引改为 date 并修改 datetime 类型的。

通过调用 show_stock_price 方法来进行数据的展示:

最终展示的图形如下图所示:

通过上述的图形,我们发现由于贵州的价格高,山西的价格低,所以展现不出来的相对的波动,所以我们需要将两个数据标的进行分坐标系进行展示,具体的代码如下图所示:

通过以上代码,分别设置坐标系的不同颜色,即可展示同期下的波动情况:

3 pandas shift 操作

通过以上的操作,我们已经获取到了数据的价格展示图,在本节中将继续 pandas 的操作,价格波动由于价格的不同,很难进行量化,所以采用变动的百分比就可以很好的解决这个问题。这就用到了 shift 操作,具体如下图所示,shift 操作就是把数据往下压一位,这样就可以进行数据涨跌的展示,然后再除以比较的基准,就可以得到最终涨跌的数据,当然这里也可以直接用 rate 信息而不必进行计算,这里是为了 shift 的数据操作。

计算收益的数据图形展示如下图:

如上图我们得到了这样的图形,但是这个图形显示说明不了累计的问题,因此再进一步进行数据累计操作,关于数据的累计操作,可以使用 cumprod 进行累计相乘,还有一个累计相加的方法为 cumsum,具体的代码如下图所示:

运行后得到的图像如下所示,根据图形的展示内容,得到的图形展示结构可以得到结论,这个山西的表现还是比贵州强一点的。

4 总结

在本文中,主要讲述了数据的展示,以及双坐标轴的数据展示,以及数据累计计算的方法,采用的方法是 shiftcumprod。 在后续的文章中将继续讲解基于此文的数据建模,多多关注。