Python对阿里巴巴、谷歌、腾讯等六家公司股票数据进行分析与可视化实战(附源码 超详细)

简介: Python对阿里巴巴、谷歌、腾讯等六家公司股票数据进行分析与可视化实战(附源码 超详细)

需要源码请点赞关注收藏后评论区留言私信~~~

下面针对阿里巴巴、谷歌、亚马逊、Facebook、苹果和腾讯六家公司股票数据进行了分析与可视化描述,数据分析前需要安装互联数据获取包pandas-datareader

先使用conda安装:

1)python3环境

2)安装互联数据获取包pandas-datareader

实现步骤

1:导入模块

2:获取数据

首先定义要获取股票数据的来源和时间区间

然后分别获取阿里巴巴、谷歌、亚马逊、Facebook、苹果和腾讯的股票数据

数据说明

列名    High   Low    Open   Close  Volume

含义   最高价 最低价  开盘价  收盘价 成交量

接下来从上到下分别是阿里  谷歌 亚马逊 facebook 苹果 腾讯的股票信息

接下来我们以阿里巴巴数据为例进行详细分析 其他公司的省略

首先查看数据集情况

查看数据集统计信息

增加一列DayHL 表示日最高价和最低价之间的差值

数据可视化

下面绘制阿里巴巴的股票走势图

从图中可以看出 阿里巴巴的股票价格2018 6-7月涨势良好且比较稳定 从2018年9月开始总体趋势处于下滑状态

下面绘制阿里巴巴股票成交量和股价之间的散点图

接着计算相关系数矩阵

导入另外五家公司的股价数据 并且对六家公司的股价进行走势比较 并画出曲线图

因为谷歌和亚马逊的股价比较高,造成我们看不出其他4家公司的股票走势。 所以根据股价我们可以将这6家公司分成2组,一组是股价较高的谷歌和亚马逊。另外一组是股价较低的4家公司

接下来比较六家公司股票的平均值

可见亚马逊和谷歌非常的高,腾讯比较低

代码

部分代码如下 需要全部代码请点赞关注收藏后评论区留言私信~~~

#导入包
#数据分析包
import pndas as pd
from panda_datareader import data
import matlotlib
import matplotlib.pyplot as plt
font = {'mily' : 'SimHei',
        'weight' : 'bold',
        'size'   : '12'}
plt.rc('font', **font)               # 步骤一(设置字体的更多属性)
plt.rc('xes', unicode_minus=False)  # 步骤二(解决坐标轴负数的负号显示问题)
# 存在的问题:由于是从国外获取股票数据,会由于网络不稳定,获取数据失败,多运行几次这个cell就好了
'''
获取国内股票数据的方式是:“股票代码”+“对应股市”(港股为.hk,A股为.ss)
例如腾讯是港股是:0700.hk
'''
#字典:6家公司的股票
gafataDict={'谷歌':'GOOG','亚马逊':'AMZN','Facebook':'FB',
      = '2019-05-01'
'''
get_data_yahoo表示从雅虎数据源获取股票数据
雅虎股票数据源文档:http://pandas-datareader.readthedocs.io/en/latest/remote_data.html#yahoo-finance
'''
# # 获取哪段时间范围的股票数据
# start_date = '2018-01-01'
# end_date = '2019-05-01'
#获取阿里巴巴股票数据
ALbbDf = data.get_data_yahoo(gafataDict['阿里巴巴'],start_date, end_date)
#查看前5行数
ALbbDf.tail()
#获取谷歌股票数据
GoogleDf=data.get_data_yahoo(gafataDict['谷歌'],start_date, end_date)
GoogleDf.tail()
#获取亚马逊股票数据
AmazDf=data.get_data_yahoo(gafataDict['亚马逊'],start_date, end_date)
AmazDf.tail()
#获取Facebook股票数据
FBDf=data.get_data_yahoo(gafataDict['Facebook'],start_date, end_date)
FBDf.tail()
#导入可视化包
import matplotlib.pyplot as plt
font = {'family' : 'SimHei',
        'weight' : 'bold',
        'size'   : '15'}
plt.rc('font', **font)               # 步骤一(设置字体的更多属性)
plt.rc('axes', unicode_minus=False)  # 步骤二(解决坐标轴负数的负号显示问题)
'''
横轴x是股票时间(babaDf.index是Pandas二维数据Dataframe的行索引,这里是时间序列)
纵轴y是收盘价Close这一列数据
plot默认是线条图
'''
ALbbDf.plot(y = "Close",color = "blue")
#x坐标轴文本
plt.xlabel('时间')
#y坐标轴文本
plt.ylabel('股价(美元)')
plt.xticks(rotation = 60)
#图片标题
plt.title('2018年初至今阿里巴巴股价走势')
#显示图例
plt.grid()
#显示图形
plt.show()
'''
我们给plot传入的横轴x坐标轴数据成交量这一列的数据,
纵轴y坐标轴数据是收盘价这一列的数据,
同时增加了一个参数叫kind这个值表示绘制图形的类型,这里的值等于scatter表示绘制散点图。
kind取值(图形类型)参考官方文档:http://pandas.pydata.org/pandas-docs/stable/visualization.html
'''
matplotlib.rcParams['font.size'] = 12
ALbbDf.plot(x='Volume',y='Close',kind='scatter')
#x坐标轴文本
plt.xlabel('成交量')
#y坐标轴文本
plt.ylabel('股价(美元)')
#图片标题
plt.title('成交量和股价')
#显示图形
plt.show()
#绘制谷歌的画纸1
plt.figure(figsize=(3,10))
ax1=GoogleDf.plot(y='Close')
#通过指定画纸ax,在同一张画纸上绘图
#亚马逊
AmazDf.plot(ax=ax1,y='Close')
#Facebook
FBDf.plot(ax=ax1,y='Close')
#苹果
AppleDf.plot(ax=ax1,y='Close')
#阿里巴巴
ALbbDf.plot(ax=ax1,y='Close')
#腾讯
TCDf.plot(ax=ax1,y='Close')
#x坐标轴文本
plt.xlabel('时间')
#y坐标轴文本
plt.ylabel('股价(美元)')
#图片标题
plt.title('2018年至今6家公司股价走势比较')
plt.legend()
plt.show()
'''
使用label自定义图例
'''
#绘制谷歌的画纸1
ax1=GoogleDf.plot(y='Close',label='谷歌')
#通过指定画纸ax,在同一张画纸上绘图
#亚马逊
AmazDf.plot(ax=ax1,y='Close',label='亚马逊')
#Facebook
FBDf.plot(ax=ax1,y='Close',label='Facebook')
#苹果
AppleDf.plot(ax=ax1,y='Close',label='苹果')
#阿里巴巴
ALbbDf.plot(ax=ax1,y='Close',label='阿里巴巴')
#腾讯
TCDf.plot(ax=ax1,y='Close',label='腾讯')
#x坐标轴文本
plt.xlabel('时间')
#y坐标轴文本
plt.ylabel('股价(美元)')
#图片标题
plt.title('2018年至今6家公司股价走势比较')
#显示网格
plt.show()'''
第1组:谷歌,亚马逊
'''
#绘制谷歌的画纸2
ax2=GoogleDf.plot(y='Close',label='谷歌')
#通过指定画纸ax,在同一张画纸上绘图
#亚马逊
amazDf.plot(ax=ax2,y='Close',label='亚马逊')
#x坐标轴文本
plt.xlabel('时间')
#y坐标轴文本
plt.ylabel('股价(美元)')
#图片标题
plt.title('2018年谷歌和亚马逊股价走势比较')
#显示网格
plt.grid(True)
plt.show()

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
4天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
29 6
|
2天前
|
Linux 开发者 iOS开发
Python系统调用实战:如何在不同操作系统间游刃有余🐟
本文介绍了 Python 在跨平台开发中的强大能力,通过实际例子展示了如何使用 `os` 和 `pathlib` 模块处理文件系统操作,`subprocess` 模块执行外部命令,以及 `tkinter` 创建跨平台的图形用户界面。这些工具和模块帮助开发者轻松应对不同操作系统间的差异,专注于业务逻辑。
14 2
|
1天前
|
开发者 Python
探索Python中的装饰器:从入门到实战
【10月更文挑战第30天】本文将深入浅出地介绍Python中一个强大而有趣的特性——装饰器。我们将通过实际代码示例,一步步揭示装饰器如何简化代码、增强函数功能并保持代码的可读性。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开一扇通往更高效编程的大门。
|
2月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
46 1
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
数据可视化大不同!Python数据分析与机器学习中的Matplotlib、Seaborn应用新视角!
在数据科学与机器学习领域,数据可视化是理解数据和优化模型的关键。Python凭借其强大的可视化库Matplotlib和Seaborn成为首选语言。本文通过分析一份包含房屋面积、卧室数量等特征及售价的数据集,展示了如何使用Matplotlib绘制散点图,揭示房屋面积与售价的正相关关系;并利用Seaborn的pairplot探索多变量间的关系。在机器学习建模阶段,通过随机森林模型展示特征重要性的可视化,帮助优化模型。这两个库在数据分析与建模中展现出广泛的应用价值。
45 2
|
2月前
|
数据可视化 数据挖掘 Python
逆袭之路!Python数据分析新手如何快速掌握Matplotlib、Seaborn,让数据说话更响亮?
在数据驱动时代,掌握数据分析技能至关重要。对于Python新手而言,Matplotlib和Seaborn是数据可视化的两大利器。Matplotlib是最基本的可视化库,适合绘制基础图表;Seaborn则提供高层次接口,专注于统计图形和美观样式。建议先学Matplotlib再过渡到Seaborn。快速上手Matplotlib需多实践,示例代码展示了绘制折线图的方法。Seaborn特色功能包括分布图、关系图及分类数据可视化,并提供多种主题和颜色方案。两者结合可实现复杂数据可视化,先用Seaborn绘制统计图,再用Matplotlib进行细节调整。熟练掌握这两者,将显著提升你的数据分析能力。
45 4
|
2月前
|
数据可视化 数据挖掘 Python
惊呆了!Python数据分析师如何用Matplotlib、Seaborn秒变数据可视化大师?
在数据驱动时代,分析师们像侦探一样在数字海洋中寻找线索,揭示隐藏的故事。数据可视化则是他们的“魔法棒”,将复杂数据转化为直观图形。本文将带你探索Python数据分析师如何利用Matplotlib与Seaborn这两大神器,成为数据可视化大师。Matplotlib提供基础绘图功能,而Seaborn在此基础上增强了统计图表的绘制能力,两者结合使数据呈现更高效、美观。无论是折线图还是箱形图,这两个库都能助你一臂之力。
41 4
|
3月前
|
数据可视化 数据挖掘 API
Python数据分析:数据可视化(Matplotlib、Seaborn)
数据可视化是数据分析中不可或缺的一部分,通过将数据以图形的方式展示出来,可以更直观地理解数据的分布和趋势。在Python中,Matplotlib和Seaborn是两个非常流行和强大的数据可视化库。本文将详细介绍这两个库的使用方法,并附上一个综合详细的例子。
|
4月前
|
数据可视化 数据挖掘 Python
数据界的颜值担当!Python数据分析遇上Matplotlib、Seaborn,可视化美出新高度!
【7月更文挑战第24天】在数据科学领域,Python的Matplotlib与Seaborn将数据可视化升华为艺术,提升报告魅力。Matplotlib作为基石,灵活性强,新手友好;代码示例展示正弦波图的绘制与美化技巧。Seaborn针对统计图表,提供直观且美观的图形,如小提琴图,增强数据表达力。两者结合,创造视觉盛宴,如分析电商平台销售数据时,Matplotlib描绘趋势,Seaborn揭示类别差异,共塑洞察力强的作品,使数据可视化成为触动人心的艺术。
61 7
|
4月前
|
数据可视化 数据挖掘 Python
惊呆了!Python数据分析师如何用Matplotlib、Seaborn秒变数据可视化大师?
【7月更文挑战第24天】在数据驱动时代,分析师穿梭数字海洋揭示故事,数据可视化如魔法棒般将复杂数据转化成直观图形。Matplotlib与Seaborn成为黄金搭档:前者作为基础绘图库提供高度定制化选项;后者在其上构建,简化复杂图表绘制并增强美观度。两者结合,助力分析师高效完成任务。
34 6