上市公司净利润增长率的计算

# -*- 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JS74110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值