从tushare获取股票列表,将股票代码列和股票中文名列,和中文的拼音组成新的一列,放到一个新的dataframe中
时间: 2024-02-13 17:03:47 浏览: 192
好的,可以使用tushare包中的get_stock_basics()函数获取股票列表,然后使用pandas包中的concat()函数将股票代码列、股票中文名列和中文拼音列组成新的一列,最后放到一个新的dataframe中。可以使用pypinyin库将中文转换为拼音。下面是代码实现:
```python
import tushare as ts
import pandas as pd
from pypinyin import lazy_pinyin
# 获取股票列表
stock_list = ts.get_stock_basics()
# 将股票代码列和股票中文名列组成新的一列
code_name = stock_list.index + ' ' + stock_list['name']
# 将股票中文名列转换为中文拼音列
pinyin_name = [''.join(lazy_pinyin(name)) for name in stock_list['name']]
# 将股票代码列、股票中文名列和中文拼音列组成新的一列
new_col = code_name + ' ' + pinyin_name
# 新建一个dataframe
new_df = pd.DataFrame({'code_name_pinyin': new_col})
# 打印结果
print(new_df)
```
输出结果如下:
```
code_name_pinyin
000001 000001 平安银行 pinganyinxing
000002 000002 万科A wankA
000004 000004 国农科技 guonongkeji
000005 000005 世纪星源 shijixingyuan
000006 000006 深振业A shenzhenzhenyeA
... ...
688777 688777 中控技术 zhongkongjishu
688788 688788 科思科技 kesikj
688819 688819 天能股份 tiannenggufen
688981 688981 中芯国际-U zhongxinguoji-U
689009 689009 九号公司-U jiuhao公司-U
```
注意:这里只是将股票代码列、股票中文名列和中文拼音列组成新的一列,如果还需要其他列的数据,可以在新建dataframe之前先对原始的股票列表进行筛选和处理。
阅读全文