了解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("'"