学习python pandas 之初步了解

import必要的模块

首先要把需要的模块导入。

还需要按tushare的要求配置好token.

# 按文档的要求导入token
import pandas as pd
import matplotlib.pyplot as plt
import numpy.random as np
import sys
import tushare as ts
import os
plt.style.use('ggplot') 
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
%matplotlib inline
# 获取pro_api
ts.set_token('ff1c72d52ac8c2554ba6ada1137610364ff28d781')
pro = ts.pro_api()
# 获取数据,以上市公司基本数据为例
sb = pro.stock_basic()
# 测试一下数据导入成功
sb.describe()
sb.dtypes
ts_code      object
symbol       object
name         object
area         object
industry     object
market       object
list_date    object
dtype: object

统计每个省的上市公司数量,并且排序

完成这个任务只需要一条命令。

#figsize参数用来解决图的大小比例问题。
#value_counts方法可以把一个系列统计计数并按降序排列。
byarea = sb.area.value_counts()
byarea.plot(kind='barh', figsize=(10,15), title='listed company by area')
学习python pandas 之初步了解_第1张图片
按省份排行

可以看出来,沿海地区省份上市公司数量较多。少数民族地区上市公司就很少。

统计每个行业的上市公司数目

统计结果居然是软件服务业数量很多,有必要分析一下各板块的上市公司数量。

byindustry = sb.industry.value_counts()
byindustry.plot(kind='barh', figsize=(10,25), title='listed company by industry')
学习python pandas 之初步了解_第2张图片
按行业排名
## 统计每个板块的上市公司数量

bymarket = sb.market.value_counts()
bymarket.plot(kind='pie', figsize=(10,10), title='listed company by market')
学习python pandas 之初步了解_第3张图片
中小板和创业板数目上占差不多一半了

统计每年的上市公司数目,并且按年份排列

由于数据导入时,每个公司的上市日期都是object类型,需要将其先转换成为datetime类型。

#make the list_date colume into a dt object
sb.list_date = pd.to_datetime(sb.list_date)

# 创建一个新列,名字为year,数据从list_date中利用dt.year属性来取。
sb['year'] = sb.list_date.dt.year

# sort_indext()把数据按照index排列,而不是默认的按降序来排列。
byyear = sb.year.value_counts().sort_index()
byyear.plot(kind='barh', figsize=(10,15), title='Listed Number Per Year')
学习python pandas 之初步了解_第4张图片
按年份排序

可以看出来,2017年真的是厉害啊,怪不得发那么多钱,但没有明显的通货膨胀。应该说,一般大规模上市之后,市场要低迷一阵子。

你可能感兴趣的:(学习python pandas 之初步了解)