# -*- coding: utf-8 -*-
#读取“计算机、通信和其他电子设备制造业”行业上市公司2014-2017年的
# 净利润数据“data2.xsx”,字段如下:
# 股票代码(Stkcd)、会计年度(Accper)、净利润(B002000101)
# 读取股票代码基本信息表“info.xlsx”,字段如下:
# 股票代码(Stkcd)、股票简称(Stknme)、行业名称(Nnindnme)
# 任务如下:
# 1.计算获得净利润增长率连续三年大于40%的上市公司股票,并返回结果
# 2.返回结构用一个数据框D来表示,其中index为上市公司股票简称,
# 字段为“2015”、“2016”、“2017”,值为当年的净利润增长率
import numpy as np
import pandas as pd
def return_values():
data1=pd.read_excel('data2.xlsx')
info=pd.read_excel('info.xlsx')
# print(data1)
# print(data2)
code=data1['Stkcd'].value_counts()
code=list(code[code==4].index)
info=pd.read_excel('info.xlsx')
S=pd.Series(info.iloc[:,1].values,index=info.iloc[:,0].values)
list1=[]
list2=[]
list3=[]
list4=[]
for t in range(len(code)):
d=data1.iloc[data1.iloc[:,0].values==code[t],2].values
r=(d[1:]-d[0:-1])/d[0:-1]
if len(r[r>0.4])==3:
list1.append(S[code[t]])
list2.append(r[0])
list3.append(r[1])
list4.append(r[2])
D={'2015':list2,'2016':list3,'2017':list4}
D=pd.DataFrame(D,index=list1)
return D