Python股票数据可视化代码详解

目录
  • 数据准备
    • 阿里巴巴
    • 谷歌
    • 苹果
    • 腾讯
    • 亚马逊
    • Facebook
  • 数据可视化
    • 查看各个公司的股价平均值
    • 查看各公司股价分布情况
    • 股价走势对比
  • 总结
import numpy as np
import pandas as pd
from pandas_datareader import data
import datetime as dt

数据准备

'''
获取国内股票数据的方式是:“股票代码”+“对应股市”(港股为.hk,A股为.ss)
例如腾讯是港股是:0700.hk
'''
#字典:6家公司的股票
# gafataDict={'谷歌':'GOOG','亚马逊':'AMZN','Facebook':'FB', '苹果':'AAPL','阿里巴巴':'BABA','腾讯':'0700.hk'}
'''
定义函数
函数功能:计算股票涨跌幅=(现在股价-买入价格)/买入价格
输入参数:column是收盘价这一列的数据
返回数据:涨跌幅
'''
def change(column):
    # 买入价格
    buyPrice=column[0]
    # 现在股价
    curPrice=column[column.size-1]
    priceChange=(curPrice-buyPrice)/buyPrice
    # 判断股票是上涨还是下跌
    if priceChange>0:
        print('股票累计上涨=',round(priceChange*100,2),'%')
    elif priceChange==0:
        print('股票无变化=',round(priceChange*100,2)*100,'%')
    else:
        print('股票累计下跌=',round(priceChange*100,2)*100,'%')
    # 返回数据
    return priceChange
'''
三星电子
每日股票价位信息
Open:开盘价
High:最高加
Low:最低价
Close:收盘价
Volume:成交量
因雅虎连接不到,仅以三星作为获取数据示例
'''
sxDf = data.DataReader('005930', 'naver', start='2021-01-01', end='2022-01-01')
sxDf.head()
  Open High Low Close Volume
Date          
2021-01-04 81000 84400 80200 83000 38655276
2021-01-05 81600 83900 81600 83900 35335669
2021-01-06 83300 84500 82100 82200 42089013
2021-01-07 82800 84200 82700 82900 32644642
2021-01-08 83300 90000 83000 88800 59013307
sxDf.info()
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 248 entries, 2021-01-04 to 2021-12-30
Data columns (total 5 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   Open    248 non-null    object
 1   High    248 non-null    object
 2   Low     248 non-null    object
 3   Close   248 non-null    object
 4   Volume  248 non-null    object
dtypes: object(5)
memory usage: 11.6+ KB
sxDf.iloc[:,0:4]=sxDf.iloc[:,0:4].astype('float')
sxDf.iloc[:,-1]=sxDf.iloc[:,-1].astype('int')
sxDf.info()
<class 'pandas.core.frame.DataFrame'>DatetimeIndex: 248 entries, 2021-01-04 to 2021-12-30Data columns (total 5 columns): #   Column  Non-Null Count  Dtype  ---  ------  --------------  -----   0   Open    248 non-null    float64 1   High    248 non-null    float64 2   Low     248 non-null    float64 3   Close   248 non-null    float64 4   Volume  248 non-null    int32  dtypes: float64(4), int32(1)memory usage: 10.7 KB<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 248 entries, 2021-01-04 to 2021-12-30
Data columns (total 5 columns):
 #   Column  Non-Null Count  Dtype
---  ------  --------------  -----
 0   Open    248 non-null    float64
 1   High    248 non-null    float64
 2   Low     248 non-null    float64
 3   Close   248 non-null    float64
 4   Volume  248 non-null    int32
dtypes: float64(4), int32(1)
memory usage: 10.7 KB

阿里巴巴

# 读取数据
AliDf=pd.read_excel(r'C:\Users\EDY\Desktop\吧哩吧啦\学习\Untitled Folder\阿里巴巴2017年股票数据.xlsx',index_col='Date')
AliDf.tail()
  Open High Low Close Adj Close Volume
Date            
2017-12-22 175.839996 176.660004 175.039993 176.289993 176.289993 12524700
2017-12-26 174.550003 175.149994 171.729996 172.330002 172.330002 12913800
2017-12-27 172.289993 173.869995 171.729996 172.970001 172.970001 10152300
2017-12-28 173.039993 173.529999 171.669998 172.300003 172.300003 9508100
2017-12-29 172.279999 173.669998 171.199997 172.429993 172.429993 9704600
# 查看基本信息及数据类型
AliDf.info()
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 251 entries, 2017-01-03 to 2017-12-29
Data columns (total 6 columns):
 #   Column     Non-Null Count  Dtype
---  ------     --------------  -----
 0   Open       251 non-null    float64
 1   High       251 non-null    float64
 2   Low        251 non-null    float64
 3   Close      251 non-null    float64
 4   Adj Close  251 non-null    float64
 5   Volume     251 non-null    int64
dtypes: float64(5), int64(1)
memory usage: 13.7 KB
# 计算涨跌幅
AliChange=change(AliDf['Close'])
股票累计上涨= 94.62 %
'''增加一列累计增长百分比'''
#一开始的股价
Close1=AliDf['Close'][0]
# # .apply(lambda x: format(x, '.2%'))
AliDf['sum_pct_change']=AliDf['Close'].apply(lambda x: (x-Close1)/Close1)
AliDf['sum_pct_change'].tail()
Date
2017-12-22    0.989729
2017-12-26    0.945034
2017-12-27    0.952257
2017-12-28    0.944695
2017-12-29    0.946162
Name: sum_pct_change, dtype: float64

谷歌

# 读取数据
GoogleDf=pd.read_excel(r'C:\Users\EDY\Desktop\吧哩吧啦\学习\Untitled Folder\谷歌2017年股票数据.xlsx',index_col='Date')
GoogleDf.tail()
  Open High Low Close Adj Close Volume
Date            
2017-12-22 1061.109985 1064.199951 1059.439941 1060.119995 1060.119995 755100
2017-12-26 1058.069946 1060.119995 1050.199951 1056.739990 1056.739990 760600
2017-12-27 1057.390015 1058.369995 1048.050049 1049.369995 1049.369995 1271900
2017-12-28 1051.599976 1054.750000 1044.770020 1048.140015 1048.140015 837100
2017-12-29 1046.719971 1049.699951 1044.900024 1046.400024 1046.400024 887500
# 计算涨跌幅
GoogleChange=change(GoogleDf['Close'])
股票累计上涨= 33.11 %
'''增加一列累计增长百分比'''
#一开始的股价
Close1=GoogleDf['Close'][0]
# # .apply(lambda x: format(x, '.2%'))
GoogleDf['sum_pct_change']=GoogleDf['Close'].apply(lambda x: (x-Close1)/Close1)
GoogleDf['sum_pct_change'].tail()
Date
2017-12-22    0.348513
2017-12-26    0.344213
2017-12-27    0.334839
2017-12-28    0.333274
2017-12-29    0.331061
Name: sum_pct_change, dtype: float64

苹果

# 读取数据
AppleDf=pd.read_excel(r'C:\Users\EDY\Desktop\吧哩吧啦\学习\Untitled Folder\苹果2017年股票数据.xlsx',index_col='Date')
AppleDf.tail()
Open High Low Close Adj Close Volume
Date
2017-12-22 174.679993 175.419998 174.500000 175.009995 174.299362 16349400
2017-12-26 170.800003 171.470001 169.679993 170.570007 169.877396 33185500
2017-12-27 170.100006 170.779999 169.710007 170.600006 169.907272 21498200
2017-12-28 171.000000 171.850006 170.479996 171.080002 170.385315 16480200
2017-12-29 170.520004 170.589996 169.220001 169.229996 168.542831 25999900
# 计算涨跌幅
AppleChange=change(AppleDf['Close'])
股票累计上涨= 45.7 %
'''增加一列累计增长百分比'''
#一开始的股价
Close1=AppleDf['Close'][0]
# # .apply(lambda x: format(x, '.2%'))
AppleDf['sum_pct_change']=AppleDf['Close'].apply(lambda x: (x-Close1)/Close1)
AppleDf['sum_pct_change'].tail()
Date
2017-12-22    0.506758
2017-12-26    0.468532
2017-12-27    0.468790
2017-12-28    0.472923
2017-12-29    0.456995
Name: sum_pct_change, dtype: float64

腾讯

# 读取数据
TencentDf=pd.read_excel(r'C:\Users\EDY\Desktop\吧哩吧啦\学习\Untitled Folder\腾讯2017年股票数据.xlsx',index_col='Date')
TencentDf.tail()
  Open High Low Close Adj Close Volume
Date            
2017-12-22 403.799988 405.799988 400.799988 405.799988 405.799988 16146080
2017-12-27 405.799988 407.799988 401.000000 401.200012 401.200012 16680601
2017-12-28 404.000000 408.200012 402.200012 408.200012 408.200012 11662053
2017-12-29 408.000000 408.000000 403.399994 406.000000 406.000000 16601658
2018-01-02 406.000000 406.000000 406.000000 406.000000 406.000000 0
# 读取数据
TencentDf=pd.read_excel(r'C:\Users\EDY\Desktop\吧哩吧啦\学习\Untitled Folder\腾讯2017年股票数据.xlsx',index_col='Date')
TencentDf.tail()
  Open High Low Close Adj Close Volume
Date            
2017-12-22 403.799988 405.799988 400.799988 405.799988 405.799988 16146080
2017-12-27 405.799988 407.799988 401.000000 401.200012 401.200012 16680601
2017-12-28 404.000000 408.200012 402.200012 408.200012 408.200012 11662053
2017-12-29 408.000000 408.000000 403.399994 406.000000 406.000000 16601658
2018-01-02 406.000000 406.000000 406.000000 406.000000 406.000000 0
# 计算涨跌幅
TencentChange=change(TencentDf['Close'])
股票累计上涨= 114.36 %
'''增加一列累计增长百分比'''
#一开始的股价
Close1=TencentDf['Close'][0]
# # .apply(lambda x: format(x, '.2%'))
TencentDf['sum_pct_change']=TencentDf['Close'].apply(lambda x: (x-Close1)/Close1)
TencentDf['sum_pct_change'].tail()
Date
2017-12-22    1.142555
2017-12-27    1.118268
2017-12-28    1.155227
2017-12-29    1.143611
2018-01-02    1.143611
Name: sum_pct_change, dtype: float64

亚马逊

# 读取数据
AmazonDf=pd.read_excel(r'C:\Users\EDY\Desktop\吧哩吧啦\学习\Untitled Folder\亚马逊2017年股票数据.xlsx',index_col='Date')
AmazonDf.tail()
  Open High Low Close Adj Close Volume
Date            
2017-12-22 1172.079956 1174.619995 1167.829956 1168.359985 1168.359985 1585100
2017-12-26 1168.359985 1178.319946 1160.550049 1176.760010 1176.760010 2005200
2017-12-27 1179.910034 1187.290039 1175.609985 1182.260010 1182.260010 1867200
2017-12-28 1189.000000 1190.099976 1184.380005 1186.099976 1186.099976 1841700
2017-12-29 1182.349976 1184.000000 1167.500000 1169.469971 1169.469971 2688400
# 计算涨跌幅
AmazonChange=change(AmazonDf['Close'])
股票累计上涨= 55.17 %
'''增加一列累计增长百分比'''
#一开始的股价
Close1=AmazonDf['Close'][0]
# # .apply(lambda x: format(x, '.2%'))
AmazonDf['sum_pct_change']=AmazonDf['Close'].apply(lambda x: (x-Close1)/Close1)
AmazonDf['sum_pct_change'].tail()
Date
2017-12-22    0.550228
2017-12-26    0.561373
2017-12-27    0.568671
2017-12-28    0.573766
2017-12-29    0.551700
Name: sum_pct_change, dtype: float64

Facebook

# 读取数据
FacebookDf=pd.read_excel(r'C:\Users\EDY\Desktop\吧哩吧啦\学习\Untitled Folder\Facebook2017年股票数据.xlsx',index_col='Date')
FacebookDf.tail()
  Open High Low Close Adj Close Volume
Date            
2017-12-22 177.139999 177.529999 176.229996 177.199997 177.199997 8509500
2017-12-26 176.630005 177.000000 174.669998 175.990005 175.990005 8897300
2017-12-27 176.550003 178.440002 176.259995 177.619995 177.619995 9496100
2017-12-28 177.949997 178.940002 177.679993 177.919998 177.919998 12220800
2017-12-29 178.000000 178.850006 176.460007 176.460007 176.460007 10261500
# 计算涨跌幅
FacebookChange=change(FacebookDf['Close'])
股票累计上涨= 51.0 %
'''增加一列每日增长百分比'''
# .pct_change()返回变化百分比,第一行因没有可对比的,返回Nan,填充为0
FacebookDf['pct_change']=FacebookDf['Close'].pct_change(1).fillna(0)
FacebookDf['pct_change'].head()
Date
2017-01-03    0.000000
2017-01-04    0.015660
2017-01-05    0.016682
2017-01-06    0.022707
2017-01-09    0.012074
Name: pct_change, dtype: float64
'''增加一列累计增长百分比'''
#一开始的股价
Close1=FacebookDf['Close'][0]
# .apply(lambda x: format(x, '.2%'))
FacebookDf['sum_pct_change']=FacebookDf['Close'].apply(lambda x: (x-Close1)/Close1)
FacebookDf['sum_pct_change'].tail()
Date
2017-12-22    0.516344
2017-12-26    0.505990
2017-12-27    0.519938
2017-12-28    0.522506
2017-12-29    0.510012
Name: sum_pct_change, dtype: float64

数据可视化

import matplotlib.pyplot as plt
# 查看成交量与股价之间的关系
fig=plt.figure(figsize=(10,5))
AliDf.plot(x='Volume',y='Close',kind='scatter')
plt.xlabel('成交量')
plt.ylabel('股价')
plt.title('成交量与股价之间的关系')
plt.show()
<Figure size 720x360 with 0 Axes>

# 查看各个参数之间的相关性,与股价与成交量之间呈中度相关
AliDf.corr()
  Open High Low Close Adj Close Volume sum_pct_change
Open 1.000000 0.999281 0.998798 0.998226 0.998226 0.424686 0.998226
High 0.999281 1.000000 0.998782 0.999077 0.999077 0.432467 0.999077
Low 0.998798 0.998782 1.000000 0.999249 0.999249 0.401456 0.999249
Close 0.998226 0.999077 0.999249 1.000000 1.000000 0.415801 1.000000
Adj Close 0.998226 0.999077 0.999249 1.000000 1.000000 0.415801 1.000000
Volume 0.424686 0.432467 0.401456 0.415801 0.415801 1.000000 0.415801
sum_pct_change 0.998226 0.999077 0.999249 1.000000 1.000000 0.415801 1.000000

查看各个公司的股价平均值

AliDf['Close'].mean()
141.79179260159364
'''数据准备'''
# 计算每家公司的收盘价平均值
Close_mean={'Alibaba':AliDf['Close'].mean(),
            'Google':GoogleDf['Close'].mean(),
            'Apple':AppleDf['Close'].mean(),
            'Tencent':TencentDf['Close'].mean(),
            'Amazon':AmazonDf['Close'].mean(),
            'Facebook':FacebookDf['Close'].mean()}
CloseMeanSer=pd.Series(Close_mean)
CloseMeanSer.sort_values(ascending=False,inplace=True)
'''绘制柱状图'''
# 创建画板
fig=plt.figure(figsize=(10,5))
# 绘图
CloseMeanSer.plot(kind='bar')
# 设置x、y轴标签及标题
plt.xlabel('公司')
plt.ylabel('股价平均值(美元)')
plt.title('2017年各公司股价平均值')
# 设置y周标签刻度
plt.yticks(np.arange(0,1100,100))
# 显示y轴网格
plt.grid(True,axis='y')
# 显示图像
plt.show()

亚马逊和谷歌的平均股价很高,远远超过其他4家,但是仅看平均值并不能代表什么,下面从分布和走势方面查看

查看各公司股价分布情况

'''数据准备'''
# 将6家公司的收盘价整合到一起
CloseCollectDf=pd.concat([AliDf['Close'],
                          GoogleDf['Close'],
                          AppleDf['Close'],
                          TencentDf['Close'],
                          AmazonDf['Close'],
                          FacebookDf['Close']],axis=1)
CloseCollectDf.columns=['Alibaba','Google','Apple','Tencent','Amazon','Facebook']
'''绘制箱型图'''
# 创建画板
fig=plt.figure(figsize=(20,10))
fig.suptitle('2017年各公司股价分布',fontsize=18)
# 子图1
ax1=plt.subplot(121)
CloseCollectDf.plot(ax=ax1,kind='box')
plt.xlabel('公司')
plt.ylabel('股价(美元)')
plt.title('2017年各公司股价分布')
plt.grid(True,axis='y')
# 因谷歌和亚马逊和两外四家的差别较大,分开查看,
# 子图2
ax2=plt.subplot(222)
CloseCollectDf[['Google','Amazon']].plot(ax=ax2,kind='box')
# 设置x、y轴标签及标题
plt.ylabel('股价(美元)')
plt.title('2017年谷歌和亚马逊股价分布')
# 设置y周标签刻度
# plt.yticks(np.arange(0,1300,100))
# 显示y轴网格
plt.grid(True,axis='y')
# 子图3
ax3=plt.subplot(224)
CloseCollectDf[['Alibaba','Apple','Tencent','Facebook']].plot(ax=ax3,kind='box')
# 设置x、y轴标签及标题
plt.xlabel('公司')
plt.ylabel('股价(美元)')
plt.title('2017年阿里、苹果、腾讯、Facebook股价分布')
# 设置y周标签刻度
# plt.yticks(np.arange(0,1300,100))
# 显示y轴网格
plt.grid(True,axis='y')
plt.subplot
# 显示图像
plt.show()

从箱型图看,谷歌和亚马逊的股价分布较广,且中位数偏上,腾讯股价最为集中,波动最小,相对稳定。

股价走势对比

# 创建画板并设置大小,constrained_layout=True设置自动调整子图之间间距
fig=plt.figure(figsize=(15,10),constrained_layout=True)
# ax=plt.subplots(2,1,sharex=True)
fig.suptitle('股价走势对比',fontsize=18)
'''绘制图像1 '''
ax1=plt.subplot(211)
plt.plot(AliDf.index,AliDf['Close'],label='Alibaba')
plt.plot(GoogleDf.index,GoogleDf['Close'],label='Google')
plt.plot(AppleDf.index,AppleDf['Close'],label='Apple')
plt.plot(TencentDf.index,TencentDf['Close'],label='Tencent')
plt.plot(AmazonDf.index,AmazonDf['Close'],label='Amazon')
plt.plot(FacebookDf.index,FacebookDf['Close'],label='Facebook')
# # 设置xy轴标签
plt.xlabel('时间')
plt.ylabel('股价')
# 设置标题
# plt.title('股价走势对比')
# 图例显示位置、大小
plt.legend(loc='upper left',fontsize=12)
# 设置x,y轴间隔,设置旋转角度,以免重叠
plt.xticks(AliDf.index[::10],rotation=45)
plt.yticks(np.arange(0, 1300, step=100))
# 显示网格
plt.grid(True)
'''绘制图像2'''
ax2=plt.subplot(212)
plt.plot(AliDf.index,AliDf['sum_pct_change'],label='Alibaba')
plt.plot(GoogleDf.index,GoogleDf['sum_pct_change'],label='Google')
plt.plot(AppleDf.index,AppleDf['sum_pct_change'],label='Apple')
plt.plot(TencentDf.index,TencentDf['sum_pct_change'],label='Tencent')
plt.plot(AmazonDf.index,AmazonDf['sum_pct_change'],label='Amazon')
plt.plot(FacebookDf.index,FacebookDf['sum_pct_change'],label='Facebook')
# 设置xy轴标签
plt.xlabel('时间')
plt.ylabel('累计增长率')
# 设置标题
# plt.title('股价走势对比')
# 图例显示位置、大小
plt.legend(loc='upper left',fontsize=12)
# 设置x,y轴间隔,设置旋转角度,以免重叠
plt.xticks(AliDf.index[::10],rotation=45)
plt.yticks(np.arange(0, 1.2, step=0.1))
# 显示网格
plt.grid(True)
# 调整子图间距,subplots_adjust(left=None, bottom=None, right=None, top=None,wspace=None, hspace=None)
# 显示图像
plt.show()

可以看出,在2017年间,亚马逊和谷歌的股价虽然偏高,涨幅却不如阿里巴巴和腾讯。

总结

观察以上图形,可以得出一下结果:

1、2017年谷歌和亚马逊股价偏高,波动较大,但其涨幅并不高;

2、2017年阿里巴巴和腾讯的股价平均值相对较小,股价波动比较小,其涨幅却很高,分别达到了94.62%和114.36%。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python爬取股票交易数据并可视化展示

    目录 开发环境 第三方模块 爬虫案例的步骤 爬虫程序全部代码 分析网页 导入模块 请求数据 解析数据 翻页 保存数据 实现效果 数据可视化全部代码 导入数据 读取数据 可视化图表 效果展示  开发环境 解释器版本: python 3.8 代码编辑器: pycharm 2021.2 第三方模块 requests: pip install requests csv 爬虫案例的步骤 1.确定url地址(链接地址) 2.发送网络请求 3.数据解析(筛选数据) 4.数据的保存(数据库(mysql\mong

  • Python爬取股票信息,并可视化数据的示例

    前言 截止2019年年底我国股票投资者数量为15975.24万户, 如此多的股民热衷于炒股,首先抛开炒股技术不说, 那么多股票数据是不是非常难找, 找到之后是不是看着密密麻麻的数据是不是头都大了? 今天带大家爬取雪球平台的股票数据, 并且实现数据可视化 先看下效果图 基本环境配置 python 3.6 pycharm requests csv time 目标地址 https://xueqiu.com/hq 爬虫代码 请求网页 import requests url = 'https://xueq

  • 使用python创建股票的时间序列可视化分析

    目录 简单介绍 数据获取 绘制可视化线图 绘制蜡太图 条形图 分析特定时间段 交互式可视化 总结 简单介绍 在分析股票或任何其他投资货币工具时,时间序列分析是观察变量如何随时间变化的有效方法.这种类型的分析通常需要大量的数据点来确保一致性和可靠性.时间序列分析对于分析股票价格非常有效,尤其是对于自动交易.本篇文章,主要是为初学者做一个简单介绍与使用. 数据获取 我们收集雅虎财经的数据,直接使用python的库,安装如下: !pip install yfinance !pip install pl

  • 基于Python实现股票数据分析的可视化

    目录 一.简介 二.代码 1.主文件 2.数据库使用文件 3.ui设计模块 4.数据处理模块 三.数据样例的展示 四.效果展示 一.简介 我们知道在购买股票的时候,可以使用历史数据来对当前的股票的走势进行预测,这就需要对股票的数据进行获取并且进行一定的分析,当然了,人们是比较喜欢图形化的界面的,因此,我们在这里采用一种可视化的方法来实现股票数据的分析. 二.代码 1.主文件 from work1 import get_data from work1 import read_data from w

  • python实现股票历史数据可视化分析案例

    投资有风险,选择需谨慎. 股票交易数据分析可直观股市走向,对于如何把握股票行情,快速解读股票交易数据有不可替代的作用! 1 数据预处理 1.1 股票历史数据csv文件读取 import pandas as pd import csv df = pd.read_csv("/home/kesci/input/maotai4154/maotai.csv") 1.2 关键数据--在csv文件中选择性提取"列" df_high_low = df[['date','high',

  • 关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)

    前言: 这次比上次新添了公司信息内容跟一个股票基本面指标选项卡,股票基本面指标选项卡用的是matplotlib写的,采用plt.subplot2grid()子图写的,没写主图,在此期间遇到了无法标题中文话,一写就乱码,用过网上很多解决方法,目前也是无解,先记录,后面有时间再解决,如果你有解决方法请务必赐教,实在这个问题卡了我一天多了,如果单单是只用matplotlib输出图形,乱码问题网上的很多方法也是能够解决,我也不清楚究竟是我写的代码哪里跟中文显示冲突了,一时间代码也开始有点乱了,后面估计会

  • Python股票数据可视化代码详解

    目录 数据准备 阿里巴巴 谷歌 苹果 腾讯 亚马逊 Facebook 数据可视化 查看各个公司的股价平均值 查看各公司股价分布情况 股价走势对比 总结 import numpy as np import pandas as pd from pandas_datareader import data import datetime as dt 数据准备 ''' 获取国内股票数据的方式是:"股票代码"+"对应股市"(港股为.hk,A股为.ss) 例如腾讯是港股是:070

  • Python pyecharts数据可视化实例详解

    目录 一.数据可视化 1.pyecharts介绍 2.初入了解 (1).快速上手 (2).简单的配置项介绍 3.案例实战 (1).柱状图Bar (2).地图Map (3).饼图Pie (4).折线图Line (5).组合图表 二.案例数据获取 总结 一.数据可视化 1.pyecharts介绍 官方网址:https://pyecharts.org/#/zh-cn/intro 概况: Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,使用JavaScript实现的.

  • Python数据可视化:泊松分布详解

    一个服从泊松分布的随机变量X,表示在具有比率参数(rate parameter)λ的一段固定时间间隔内,事件发生的次数.参数λ告诉你该事件发生的比率.随机变量X的平均值和方差都是λ. 代码实现: # Poisson分布 x = np.random.poisson(lam=5, size=10000) # lam为λ size为k pillar = 15 a = plt.hist(x, bins=pillar, normed=True, range=[0, pillar], color='g',

  • Python疫情确诊折线图实现数据可视化实例详解

    目录 案例描述 实现步骤 一.导入模块 二.读取文件内容 三.json转换python 四.获取需要用到的数据 五.生成图表 六.关闭文件 案例描述 根据可参考数据,实现对疫情确诊人数数据的可视化. 利用json转换工具,将数据格式化,需要取出下面两部分的内容. 可视化效果图: 实现步骤 一.导入模块 导入可能用到的模块 import json from pyecharts.charts import Line 二.读取文件内容 打开相应的文件,使用变量us_data保存文件的内容 f_us =

  • Python实现地图可视化案例详解

    目录 ​前言 一.pyecharts Map Geo Bmap 二.folium 结 语 ​前言 Python的地图可视化库很多,Matplotlib库虽然作图很强大,但只能做静态地图.而我今天要讲的是交互式地图库,分别为pyecharts.folium,掌握这两个库,基本可以解决你的地图可视化需求. 一.pyecharts 首先,必须说说强大的pyecharts库,简单易用又酷炫,几乎可以制作任何图表.pyecharts有v0.5和v1两个版本,两者不兼容,最新的v1版本开始支持链式调用,采用

  • Python探索之ModelForm代码详解

    这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来,对,你没猜错,相信自己的英语水平. 先来一个简单的例子来看一下这个东西怎么用: 比如我们的数据库中有这样一张学生表,字段有姓名,年龄,爱好,邮箱,电话,住址,注册时间等等一大堆信息,现在让你写一个创建学生的页面,你的后台应该怎么写呢? 首先我们会在前端一个一个罗列出这些字段,让用户去填写,然后我们从后天一个一个接收用户的输入,创建一个新的学生对象,保存 其实,重点不是这些,而是合法性验证,我们需要在前端

  • Python 处理数据的实例详解

    Python 处理数据的实例详解 最近用python(3.2的版本)写了根据特定规则,处理数据的一个小程序,用到了一些python常用的基础知识,在此总结一下: 1,python读文件 2,python写文件 3,python的流程控制 4,python的for循环 5,python的集合,或字符串里判断是否存在某个元素 6,python的逻辑或,逻辑与 7,python的正则过滤 8,python的字符串忽略空格,和以某个字符串开头和按某个字符拆分成list python的打开文件的模式: 关

  • python绘制条形图方法代码详解

    1.首先要绘制一个简单的条形图 import numpy as np import matplotlib.pyplot as plt from matplotlib import mlab from matplotlib import rcParams fig1 = plt.figure(2) rects =plt.bar(left = (0.2,1),height = (1,0.5),width = 0.2,align="center",yerr=0.000001) plt.titl

  •  python用matplotlib可视化绘图详解

    目录 1.Matplotlib 简介 2.Matplotlib图形绘制 1)折线图 2)柱状图 3)条形图 3)饼图 4)散点图 5)直方图 6)箱型图 7)子图 1.Matplotlib 简介 Matplotlib 简介: Matplotlib 是一个python的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形,matplotlib 对于图像美化方面比较完善,可以自定义线条的颜色和样式,可以在一张绘图纸上绘制多张小图,也可以在一张图上绘制多条线,可以很方便地将数据可

  • Java数据溢出代码详解

    java是一门相对安全的语言,那么数据溢出时它是如何处理的呢? 看一段代码, public class Overflow { /** * @param args */ public static void main(String[] args) { int big = 0x7fffffff; //max int value System.out.println("big = " + big); int bigger = big * 4; System.out.println("

随机推荐