上市公司净利润增长率的计算在线实验闯关

第1关:净利润率增长率连续三年大于40%上市公司计算与获取

获取数据

通俗的理解,获取数据就是:用相关函数读取需要的数据

示例如下:

dt=pd.read_excel('data2.xlsx')

采用值统计函数

采用值统计函数value_count()即可实现筛选。

code=dt['Stkcd'].value_counts()

获取净利润数据

通俗的理解,遍历数组就是:采用循环的方式,利用公式,依次取得4年的净利润数据,将其转化为Numpy数据组的形式。

示例如下:

  1. list1=[]
  2. list2=[]
  3. list3=[]
  4. list4=[]
  5. for t in range(len(code)):
  6. d=dt.iloc[dt.iloc[:,0].values==code[t],2].values
  7. r=(d[1:]-d[0:-1])/d[0:-1]
  8. if len(r[r>0.4])==3:
  9. list1.append(S[code[t]])
  10. list2.append(r[0])
  11. list3.append(r[1])
  12. list4.append(r[2])
# -*- 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

猜你喜欢

转载自blog.csdn.net/cfy2401926342/article/details/131536620