前言
数据来源:知乎数据分析课程
python数据分析和可视化实操
一、明确问题
对给定的五个公司股票数据进行对比分析
二、数据理解
部分数据展示
各字段含义:
Date:日期 Open:开盘价 High:最高价 Low:最低价 Close:收盘价 Volume:成交量 Name:股票对应公司名称
三、数据清洗
数据比较干净,仅将这些Excel文件进行合并
#导入包
import pandas as pd
import os
#存放所有Excel的文件夹路径
path='E:\\python数据分析\\股票数据\\'
#所有文件名
names = os.listdir(path)
#合并后Excel数据
result = pd.DataFrame()
for name in names:
df=pd.read_excel(path+name)
result=result.append(df)
#保存合并后表格
save=path+'result.xlsx'
result.to_excel(save)
#重置行号
result = result.reset_index(drop=True)
四、数据分析及可视化
#导入数据可视化包
import seaborn as sns
1、对比不同公司股价
sns.lineplot(data=result,x='Date',y='Open',hue='Name')
可以看到,亚马逊股价最高,谷歌股价稍低,苹果、Facebook和阿里巴巴差不多,与亚马逊和谷歌差距较大。
2、交易量数据分布
sns.lineplot(data=result,x='Date',y='Volume',hue='Name')
苹果股票交易量最大,其次是Facebook和阿里巴巴
3、交易量和股价是量价相同,还是量价背离?
sns.lmplot(data=result,x='Open',y='Volume',hue='Name')
sns.lmplot(data=result,x='Open',y='Volume',col='Name')
阿里巴巴股票交易量和开盘价程正相关。
4、阿里巴巴股票交易量和开盘价相关系数
#选取阿里巴巴股票数据
ali=result[result['Name']=='Alibaba']
#计算相关系数
alicorr=ali.corr()
alicorr
相关系数为0.42