数据分析实例-平安银行股票分析

简介: 数据分析实例-平安银行股票分析

本次项目以2020年平安银行的股票信息来进行数据分析


开发工具:jupyter notebook


首先导入本次项目用到的包


import pandas as pd
import matplotlib.pyplot as plt
import matplotlib as mpl
import warnings
warnings.filterwarnings('ignore') # 忽略警告
plt.rcParams['font.sans-serif'] = ['SimHei'] #解决中文显示
plt.rcParams['axes.unicode_minus'] = False   #解决符号无法显示

导入原始数据

data = pd.read_csv('2020_pinganbank_hist_dat (1).csv') # 导入原始数据
data.head()


1) 数据只保留日期(date)、开盘价(open)、收盘价(close)、成交量(volume)、涨跌幅(p_change)和换手率(turnover)这几个属性,并按时间先后顺序对数据进行排序。

data = data[['date','open','close','volume','p_change','turnover']]  # 导入数据,只保留日期(date)、开盘价(open)、收盘价(close)、成交量(volume)、涨跌幅(p_change)和换手率(turnover)这几个属性
data.sort_values(by='date',inplace=True) # 按时间先后顺序对数据进行排序
data.head() # 展示数据前五行


2.绘制出开盘价(open)和收盘价(close)的走势折线图,注意 X 轴绘制字符重叠问题的处理;

plt.figure(figsize=(15,8)) # 画布大小
plt.plot(data['date'],data['open'],label='开盘价') # 开盘价折线图
plt.plot(data['date'],data['close'],label='收盘价') # 收盘价折线图
ax = plt.gca()  # 处理x轴字符重叠问题
data_format = mpl.dates.DateFormatter('%m-%d')  # 处理x轴字符重叠问题
ax.xaxis.set_major_formatter(data_format)   # 处理x轴字符重叠问题
xlocator = mpl.ticker.MultipleLocator(7)    # 处理x轴字符重叠问题
ax.xaxis.set_major_locator(xlocator)    # 处理x轴字符重叠问题
plt.xticks(rotation=45) # 将x轴标签旋转45°
plt.legend(loc='upper center') # 添加图例
plt.show()



3.输出这一年内成交量(volume)最低和最高那两天的日期和分别的成交量以及收盘价(close)和换手率(turnover);

heigher = data['volume'].sort_values().index[-1]  # 成交量最高那天的数据
lower = data['volume'].sort_values().index[0]  # 成交量最低那天的数据
data[(data.index == lower) | (data.index == heigher)][['date','volume','close','turnover']] # 成交量(volume)最低和最高那两天的日期和分别的成交量以及收盘价(close)和换手率(turnover)


4.以成交量(volume)为 X 轴,收盘价(close)为 Y 轴,绘制出散点图,分析收盘价和成交量之间是否存在关联

plt.figure(figsize=(15,8))  # 画布大小
plt.scatter(x=data['volume'],y=data['close'])   # 画散点图
plt.xlabel('成交量',fontsize=15)     # x轴标签
plt.ylabel('收盘价',fontsize=15)    # y轴标签
plt.title('成交量与收盘价的关系',fontsize=15)   # 图的标题
plt.show()  # 从图看出没有相关关系



5.列出成交量(volume)在 1100000 以上且换手率(turnover)在 0.5 以上的记录,分析成交量和换手率之间是否存在关联

data1 = data[(data['volume'] > 1100000) & (data['turnover'] > 0.5)] # 成交量(volume)在 1100000 以上且换手率(turnover)在 0.5 以上的记录
data1


plt.figure(figsize=(15,8)) # 画布大小
plt.scatter(x=data1['volume'],y=data1['turnover']) # 画散点图
plt.xlabel('成交量',fontsize=15) # x轴标签
plt.ylabel('换手率',fontsize=15) # y轴标签
plt.title('成交量与换手率的关系',fontsize=15)  # 图的标题
plt.show() # 从图中看出具有较强的正相关性

6. 统计这一年中收盘价(close)高于开盘价(open)的天数,占今年总交易日的比率,如果每天以收盘价购买 1000 股,第二天以开盘价卖出 1000股,一年的收益是多少;

heigher_day = data[data['close'] > data['open']]['date'].count()  # 计算收盘价高于开盘价的天数
sum_day = data['date'].count()  # 计算总交易日
rate = heigher_day/sum_day # 计算比率
rate  # 比率
0.4959016393442623
open_ = data['open'][1:]*1000 # 开盘价(从第一天开始到最后一天,但不包含第一天)
close_ = data['close'][:-1]*1000 # 收盘价(从第一天到最后一天,但不包含最后一天)
sum_profit = open_.sum() - close_.sum() # 计算最后总收益
sum_profit # 最后总收益
-2010.0


7.按周统计出每周的累计涨跌幅,并绘制出条形图;

data['date'] = pd.to_datetime(data['date']) # 将date转化为日期类型
plt.figure(figsize=(18,10)) # 设置画布大小
data.resample('W',on='date')['p_change'].sum().plot(kind='barh',title='每周的累计涨跌幅') # 按周统计出每周的累计涨跌幅,并绘制出条形图



8.计算出每月开盘价(open)和收盘价(close)的平均值,并绘制出柱状图

# 计算出每月开盘价(open)和收盘价(close)的平均值,并绘制出柱状图
data.resample('M',on='date')[['open','close']].mean().plot(kind='bar',title='每月开盘价和收盘价的平均值')

目录
相关文章
|
2月前
|
搜索推荐 数据挖掘 C++
数据分析方法-对比分析和用户画像
数据分析方法-对比分析和用户画像
70 1
数据分析方法-对比分析和用户画像
|
2月前
|
数据采集 数据可视化 数据挖掘
数据分析案例-汽车客户信息数据可视化分析
数据分析案例-汽车客户信息数据可视化分析
106 0
|
2月前
|
数据可视化 架构师 数据挖掘
数据分析案例-数据科学相关岗位薪资可视化分析
数据分析案例-数据科学相关岗位薪资可视化分析
53 0
|
2月前
|
数据采集 数据可视化 数据挖掘
数据分析案例-BI工程师招聘岗位信息可视化分析
数据分析案例-BI工程师招聘岗位信息可视化分析
60 0
|
1月前
|
机器学习/深度学习 人工智能 数据可视化
Python在数据分析中的威力及应用实例
本文探讨了Python在数据分析领域的重要性和灵活性,着重介绍了Python在大数据处理、机器学习和可视化方面的应用实例,展示了其强大的功能和便捷的特点。
|
4月前
|
机器学习/深度学习 自然语言处理 数据挖掘
Python数据分析中文本分析的重要技术点,包括文本预处理、特征提取、情感分析
Python数据分析中文本分析的重要技术点,包括文本预处理、特征提取、情感分析
90 1
Python数据分析中文本分析的重要技术点,包括文本预处理、特征提取、情感分析
|
2月前
|
数据可视化 搜索推荐 数据挖掘
数据分析案例-顾客购物数据可视化分析
数据分析案例-顾客购物数据可视化分析
100 0
|
10天前
|
数据采集 数据可视化 数据挖掘
Seaborn在数据分析中的应用:案例分析与实践
【4月更文挑战第17天】本文介绍了Seaborn在数据分析中的应用,它是一个基于Python的可视化库,简化了复杂数据的图表创建。通过一个销售数据分析的案例,展示了数据加载、描述性统计、相关性分析、多变量分析及高级可视化步骤。实践技巧包括数据清洗、图表选择、颜色使用、注释标签和交互性。Seaborn助力高效数据探索和理解,提升分析效率。注意,实际使用需根据数据集和目标调整,并参考最新文档。
|
23天前
|
存储 机器学习/深度学习 数据采集
数据分析师如何处理数据以进行分析?
【4月更文挑战第4天】数据分析师如何处理数据以进行分析?
19 9
|
1月前
|
机器学习/深度学习 数据可视化 算法
python数据分析——在面对各种问题时,因如何做分析的分类汇总
Python数据分析是指使用Python编程语言对数据进行收集、处理、分析和可视化的过程。Python是一种非常流行的编程语言,具有简单易学、代码可读性高、生态系统强大的特点,因此在数据科学领域得到广泛应用。
85 0