python数据可视化

python数据可视化:

# -*- coding: utf-8 -*-
#Author Mr.xu

import pandas as pd
from pandas import Series,DataFrame
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

filename = 'F:\\数据分析数据\\金融年度数据.csv'

f = open(filename)

#需要过滤脏数据
df = pd.read_csv(f)
                         数据库:年度数据 Unnamed: 1     ...     Unnamed: 9 Unnamed: 10
0                        时间:最近10年        NaN     ...            NaN         NaN
1                              指标      2017年     ...          2009年       2008年
2                境内上市公司数(A、B股)(家)       3485     ...           1718        1625
3                       上市股票数目(只)        NaN     ...           1804        1711
4                       A股股票数目(只)        NaN     ...           1696        1602
5                       B股股票数目(只)        NaN     ...            108         109
6                     股票总发行股本(亿股)      53747     ...       20606.26    18900.12
7                      A股发行股本(亿股)        NaN     ...       20332.77    18629.77
8                      B股发行股本(亿股)        NaN     ...         273.49      270.35
9                        流通股本(亿股)      45045     ...       14200.19     6964.97
10                     A股流通股本(亿股)        NaN     ...       13928.17     6696.76
11                     B股流通股本(亿股)        NaN     ...         271.48      268.21
12                     股票市价总值(亿元)     567086     ...      243939.12   121366.43
13                     A股市价总值(亿元)        NaN     ...      242127.01   120566.55
14                     B股市价总值(亿元)        NaN     ...        1812.11      799.88
15                     股票流通市值(亿元)     449298     ...      151258.65     45213.9
16                     A股流通市值(亿元)        NaN     ...      149455.96    44419.11
17                     B股流通市值(亿元)        NaN     ...        1802.69      794.79
18                     股票成交金额(亿元)    1124625     ...         535987   267112.66
19                     A股成交金额(亿元)        NaN     ...         533889   265890.43
20                     B股成交金额(亿元)        NaN     ...           2097     1222.23
21                      总成交股数(亿股)      87781     ...       51106.99    24131.39
22                     A股成交股数(亿股)        NaN     ...       50648.91    23912.78
23                     B股成交股数(亿股)        NaN     ...         458.09      218.62
24                       上证综合指数最高        NaN     ...           3478      5522.8
25                       上证综合指数最低        NaN     ...         1844.1      1664.9
26                       上证综合指数收盘        NaN     ...         3277.1      1820.8
27                       深证综合指数最高        NaN     ...         1240.6      1584.4
28                       深证综合指数最低        NaN     ...          557.7       452.3
29                       深证综合指数收盘        NaN     ...         1201.3       553.3
30  注:1.根据证监会的建议,境内上市公司数采用新的统计分类。        NaN     ...            NaN         NaN
31      2.股票总发行股本中含(A+H)股公司发行的H股。        NaN     ...            NaN         NaN
32                     数据来源:国家统计局        NaN     ...            NaN         NaN



df = pd.read_csv(f,header=2).head(28)


                  指标      2017年    ...          2009年      2008年
0   境内上市公司数(A、B股)(家)     3485.0    ...        1718.00    1625.00
1          上市股票数目(只)        NaN    ...        1804.00    1711.00
2          A股股票数目(只)        NaN    ...        1696.00    1602.00
3          B股股票数目(只)        NaN    ...         108.00     109.00
4        股票总发行股本(亿股)    53747.0    ...       20606.26   18900.12
5         A股发行股本(亿股)        NaN    ...       20332.77   18629.77
6         B股发行股本(亿股)        NaN    ...         273.49     270.35
7           流通股本(亿股)    45045.0    ...       14200.19    6964.97
8         A股流通股本(亿股)        NaN    ...       13928.17    6696.76
9         B股流通股本(亿股)        NaN    ...         271.48     268.21
10        股票市价总值(亿元)   567086.0    ...      243939.12  121366.43
11        A股市价总值(亿元)        NaN    ...      242127.01  120566.55
12        B股市价总值(亿元)        NaN    ...        1812.11     799.88
13        股票流通市值(亿元)   449298.0    ...      151258.65   45213.90
14        A股流通市值(亿元)        NaN    ...      149455.96   44419.11
15        B股流通市值(亿元)        NaN    ...        1802.69     794.79
16        股票成交金额(亿元)  1124625.0    ...      535987.00  267112.66
17        A股成交金额(亿元)        NaN    ...      533889.00  265890.43
18        B股成交金额(亿元)        NaN    ...        2097.00    1222.23
19         总成交股数(亿股)    87781.0    ...       51106.99   24131.39
20        A股成交股数(亿股)        NaN    ...       50648.91   23912.78
21        B股成交股数(亿股)        NaN    ...         458.09     218.62
22          上证综合指数最高        NaN    ...        3478.00    5522.80
23          上证综合指数最低        NaN    ...        1844.10    1664.90
24          上证综合指数收盘        NaN    ...        3277.10    1820.80
25          深证综合指数最高        NaN    ...        1240.60    1584.40
26          深证综合指数最低        NaN    ...         557.70     452.30
27          深证综合指数收盘        NaN    ...        1201.30     553.30


df = DataFrame(df)

#设置指标列为索引列,然后就可以用loc方法获取具体的行数
df= df.set_index(df['指标']).drop(['指标'],axis=1) 

#fillna Nan值处理,设置Nan为0.
df.fillna(0,axis=1,inplace=True)

#现在获取上市股票数目和对应的年份数据
first = df.loc['上市股票数目(只)']

2017年       0.0
2016年    3134.0
2015年    2909.0
2014年    2696.0
2013年    2574.0
2012年    2579.0
2011年    2428.0
2010年    2149.0
2009年    1804.0
2008年    1711.0

#索引列为年份.然后排序
first = Series(first).sort_index()

#获取x值为索引值,y值为value.
x = first.keys()

y = first.values

#用plt 开始绘图
plt.bar(x,y,color='red')

plt.title('上市股票数目')

plt.xlabel('年份')

plt.ylabel('数量')


#显示每个bar图上面的数值
#每一对 a,b 就是一个坐标点. a表示x轴,b+100.表示文字位置柱状图上方什么位置.
#b表示y值.ha va 表示对齐方式. fontsize=9表示文字大小
for a,b in zip(x,y):
    plt.text(a,b+100,b,ha='center',va='bottom',fontsize=9)

plt.show()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值