import tushare as ts
import pandas as pd
import numpy as np
import datetime
from dateutil.relativedelta import relativedelta
today = datetime.datetime.today().strftime('%Y%m%d') #获取今天的年月日
last_mon = datetime.datetime.today() - relativedelta(months=1) #获取前一月的日期
last_mon = last_mon.strftime('%Y%m%d') # 转换成STR
ts.set_token('you token')
pro=ts.pro_api()
df = pro.index_weight(index_code = '000001.SH', start_date = last_mon, end_date = today)
df = df.sort_values(by = 'weight').reset_index() #权重按照升序排列 复位索引
df = df.drop(columns = ['index']) # 删除原索引
num = int(len(df[['weight']])/10)
frist_min = df.iloc[num*0:num*1]
frist_min_list = frist_min[['con_code'][0]].tolist() #将DataFrame 一列转换成列表
print(frist_min_list)
second = df.iloc[num*1:num*2]
three = df.iloc[num*2:num*3]
four = df.iloc[num*3:num*4]
five = df.iloc[num*4:num*5]
five_list = five[['con_code'][0]].tolist() #将DataFrame 一列转换成列表
print(five_list)
six = df.iloc[num*5:num*6]
seven = df.iloc[num*6:num*7]
eight = df.iloc[num*7:num*8]
nine = df.iloc[num*8:num*9]
ten_max = df.iloc[num*9:num*10]
ten_max_list = ten_max[['con_code'][0]].tolist() #将DataFrame 一列转换成列表
print(ten_max_list)
输出结果为:
print(frist_min_list)对应如下:
[‘900904.SH’, ‘900922.SH’, ‘900918.SH’, ‘900940.SH’, ‘900953.SH’, ‘900952.SH’, ‘900945.SH’, ‘900919.SH’, ‘900939.SH’, ‘900943.SH’, ‘900927.SH’, ‘900924.SH’, ‘900913.SH’, ‘900921.SH’, ‘900915.SH’, ‘900916.SH’, -snip- ‘603099.SH’, ‘600287.SH’, ‘603607.SH’, ‘603603.SH’, ‘603918.SH’, ‘600844.SH’, ‘603657.SH’]
print(five_list)对应如下:
[‘600975.SH’, ‘600983.SH’, ‘600668.SH’, ‘603180.SH’, ‘603358.SH’, ‘600676.SH’, ‘601700.SH’, ‘600169.SH’, ‘600825.SH’, ‘600826.SH’, ‘600831.SH’, ‘600114.SH’, ‘603220.SH’, ‘600593.SH’, ‘600686.SH’, ‘600851.SH’,
‘601588.SH’, ‘600108.SH’, ‘603655.SH’, ‘688030.SH’, ‘600888.SH’, ‘600861.SH’, ‘688003.SH’, ‘600569.SH’, ‘603367.SH’, ‘603728.SH’, ‘600199.SH’, ‘600939.SH’, ‘601388.SH’, ‘603528.SH’]
print(ten_max_list)对应如下:
[‘600674.SH’, ‘601021.SH’, ‘601108.SH’, ‘601231.SH’, ‘603816.SH’, ‘601990.SH’, ‘600872.SH’, ‘600352.SH’, ‘600111.SH’, ‘600161.SH’, ‘601618.SH’, ‘603338.SH’, ‘600132.SH’, ‘601865.SH’, ‘600079.SH’, ‘600023.SH’, -snip-
‘601816.SH’, ‘600000.SH’, ‘600104.SH’, ‘600030.SH’, ‘601088.SH’, ‘601658.SH’, ‘601888.SH’, ‘600028.SH’, ‘601166.SH’, ‘600900.SH’, ‘600276.SH’]