Tushare Day2——了解stock_basic数据并根据行业和地区进行统计

本文通过Tushare库对stock_basic数据进行分析,统计了不同行业的公司数量,构建了行业词云图,并根据地区统计了股票数量,进行可视化展示,最后将结果保存为CSV文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

了解stock_basic数据

stock_basic基础信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

导入包和stock_basic数据、查看基本信息

# username = 'root'
# password = '000000'

import pandas as pd
import tushare as ts
# from sqlalchemy import create_engine 
# import pymysql
# pymysql.install_as_MySQLdb()
pro = ts.pro_api()
#查询当前所有正常上市交易的股票列表
data = pro.stock_basic(exchange=''
#                        , list_status='L'
#                        , fields='ts_code,symbol,name,area,industry,list_date'
                      )
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设备 其他建材 汽车服务 其他商业 火力发电 医药商业 区域地产 汽车配件 全国地产 元器件 综合类 环境保护 全国地产 火力发电 广告包装 轻工机械 新型电力 全国地产 元器件 多元金融 饲料 电气设备 元器件 其他建材 房产服务 元器件 石油加工
在Google Earth Engine (GEE) 中,MOD11A2数据集包含了每日的土地表面温度 (LST) 其它相关信息。其中LST_Day_1km波段表示的是1公里分辨率的日间陆地表面温度。对这种数据进行质量筛选通常是为了保证分析结果的准确性可信度,常见的步骤包括: 1. **去除云覆盖**:使用`cloudMask()` 函数,它可以根据云掩码层 (如LC8_CLOUDS_FCover or MODIS_Cloud_Mask) 来过滤掉有云的日子。 ```python lst = lst.select('LST_Day_1km').multiply(0.01).mask(LC8_CLOUDS_FCover.select('CloudProbability') < 50) ``` 2. **检查异常值**:使用统计方法识别极端值,例如高斯滤波后计算平均值标准差,然后保留一定范围内的数据。 ```python lst_cleaned = lst.focal_mean(radius=1000, maxPixels=1e6).where(lst - lst.mean() <= 3 * lst.std()) ``` 这里假设你已经设置了合适的窗口半径(radius)来处理1公里分辨率的数据。 3. **时间序列一致性**:如果需要,可以检查数据是否按预期变化(比如季节性),排除明显的漂移或不连续。 4. **地理空间完整性**:检查是否有缺失值或边界条件问题,确保数据范围符合预期地理区域。 5. **应用质量控制信息**:MOD11A2本身可能会提供一些质量控制指标(QCI),例如QCI Bands,可以结合这些信息进行进一步筛选。 完成这些步骤之后,你可以得到经过质量筛选后的LST_Day_1km数据,用于后续的地表温度分析或研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值