了解stock_basic数据
stock_basic基础信息



导入包和stock_basic数据、查看基本信息
import pandas as pd
import tushare as ts
pro = ts.pro_api()
data = pro.stock_basic(exchange=''
)
data.head()
|
ts_code |
symbol |
name |
area |
industry |
market |
list_date |
0 |
000001.SZ |
000001 |
平安银行 |
深圳 |
银行 |
主板 |
19910403 |
1 |
000002.SZ |
000002 |
万科A |
深圳 |
全国地产 |
主板 |
19910129 |
2 |
000004.SZ |
000004 |
国华网安 |
深圳 |
互联网 |
主板 |
19910114 |
3 |
000005.SZ |
000005 |
世纪星源 |
深圳 |
环境保护 |
主板 |
19901210 |
4 |
000006.SZ |
000006 |
深振业A |
深圳 |
区域地产 |
主板 |
19920427 |
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 4161 entries, 0 to 4160
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 ts_code 4161 non-null object
1 symbol 4161 non-null object
2 name 4161 non-null object
3 area 4159 non-null object
4 industry 4159 non-null object
5 market 4161 non-null object
6 list_date 4161 non-null object
dtypes: object(7)
memory usage: 227.7+ KB
data.to_csv('stock_basic_20210129.csv', index=False)
data = pd.read_csv('stock_basic_20210129.csv')
data.head(10)
|
ts_code |
symbol |
name |
area |
industry |
market |
list_date |
0 |
000001.SZ |
1 |
平安银行 |
深圳 |
银行 |
主板 |
19910403 |
1 |
000002.SZ |
2 |
万科A |
深圳 |
全国地产 |
主板 |
19910129 |
2 |
000004.SZ |
4 |
国华网安 |
深圳 |
互联网 |
主板 |
19910114 |
3 |
000005.SZ |
5 |
世纪星源 |
深圳 |
环境保护 |
主板 |
19901210 |
4 |
000006.SZ |
6 |
深振业A |
深圳 |
区域地产 |
主板 |
19920427 |
5 |
000007.SZ |
7 |
全新好 |
深圳 |
酒店餐饮 |
主板 |
19920413 |
6 |
000008.SZ |
8 |
神州高铁 |
北京 |
运输设备 |
主板 |
19920507 |
7 |
000009.SZ |
9 |
中国宝安 |
深圳 |
综合类 |
主板 |
19910625 |
8 |
000010.SZ |
10 |
美丽生态 |
深圳 |
建筑工程 |
主板 |
19951027 |
9 |
000011.SZ |
11 |
深物业A |
深圳 |
区域地产 |
主板 |
19920330 |
根据行业列进行统计
1.先把不同行业列举出来,看一下一共有多少种行业
data.industry.unique()
array(['银行', '全国地产', '互联网', '环境保护', '区域地产', '酒店餐饮', '运输设备', '综合类', '建筑工程',
'玻璃', '家用电器', '文教休闲', '其他商业', '元器件', 'IT设备', '其他建材', '汽车服务',
'火力发电', '医药商业', '汽车配件', '广告包装', '轻工机械', '新型电力', '多元金融', '饲料',
'电气设备', '房产服务', '石油加工', '铅锌', '农业综合', '批发业', '通信设备', '旅游景点', '港口',
'机场', '石油贸易', '空运', '医疗保健', '商贸代理', '化学制药', '影视音像', '工程机械', '纺织',
'证券', '化纤', '水泥', '生物制药', '专用机械', '供气供热', '农药化肥', '机床制造', '百货',
'中成药', '路桥', '造纸', '食品', '黄金', '化工原料', '矿物制品', '水运', '日用化工',
'机械基件', '汽车整车', '煤炭开采', '软件服务', '铁路', '染料涂料', '白酒', '林业', '水务',
'水力发电', '旅游服务', '铝', '保险', '园区开发', '小金属', '铜', '普钢', '航空', '特种钢',
'种植业', '出版业', '焦炭加工', '啤酒', '公路', '超市连锁', '钢加工', '渔业', '农用机械',
'软饮料', '化工机械', '塑料', '红黄酒', '橡胶', '家居用品', '摩托车', '仓储物流', '电器仪表',
'服饰', '纺织机械', '电器连锁', '装修装饰', '半导体', '电信运营', '石油开采', '乳制品', '商品城',
'公共交通', '陶瓷', '船舶', nan], dtype=object)
data.industry.unique().shape
(111,)
2.统计每个行业分别有多少家公司
industry_st= pd.DataFrame(data['industry'].value_counts())
industry_st
|
industry |
软件服务 |
229 |
元器件 |
214 |
电气设备 |
200 |
化工原料 |
193 |
专用机械 |
162 |
... |
... |
铁路 |
5 |
机场 |
4 |
林业 |
4 |
商品城 |
3 |
电器连锁 |
2 |
110 rows × 1 columns
3.把行业从array的二维数组形式变成list形式
a = data['industry']
b = list(a)
b
['银行',
'全国地产',
'互联网',
'环境保护',
'区域地产',
'酒店餐饮',
'运输设备',
'综合类',
'建筑工程',
'区域地产',
'玻璃',
'全国地产',
'家用电器',
'文教休闲',
'其他商业',
'元器件',
'IT设备',
'其他建材',
'汽车服务',
(中间略)
'证券',
'铝',
'影视音像',
'服饰',
'装修装饰',
'农业综合',
'电气设备',
'食品',
'家用电器',
'汽车配件',
'造纸',
'元器件',
'农药化肥',
'机械基件',
'食品',
'纺织',
'互联网',
'电气设备',
'通信设备',
'机床制造',
'造纸',
'塑料',
'工程机械',
'医疗保健',
'工程机械',
'电器仪表',
'IT设备',
'专用机械',
'软件服务',
'电气设备',
'铝',
'电气设备',
'专用机械',
'工程机械',
'汽车配件',
'汽车整车',
'农药化肥',
'农药化肥',
'铝',
'钢加工',
'建筑工程',
'家用电器',
'软件服务',
'农药化肥',
'电气设备',
'通信设备',
'饲料',
'环境保护',
'生物制药',
'医疗保健',
'机械基件',
'汽车配件',
'石油开采',
'互联网',
...]
4.把行业从list形式转换成文本形式
text = str(b)
text = text.replace("'","").replace(",", "")
text
'[银行 全国地产 互联网 环境保护 区域地产 酒店餐饮 运输设备 综合类 建筑工程 区域地产 玻璃 全国地产 家用电器 文教休闲 其他商业 元器件 IT设备 其他建材 汽车服务 其他商业 火力发电 医药商业 区域地产 汽车配件 全国地产 元器件 综合类 环境保护 全国地产 火力发电 广告包装 轻工机械 新型电力 全国地产 元器件 多元金融 饲料 电气设备 元器件 其他建材 房产服务 元器件 石油加工