Python-实现简单的Excel统计函数

目录

大家好 我是政胤  

需求分析

解决步骤

最终结果

技术总结



大家好 我是政胤  

今天教大家利用Python-实现简单的Excel统计函数

制作不易 点个免费的关注 支持一下博主吧

需求分析

根据原始数据,计算出累计和、回撤、连续正确、连续错误、连续正确值与连续错误值6项数据,其中原始数据大于等于0认定为正确,原始数据小于0为错误。明白了要求,那我们就开始撸代码吧~

解决步骤

import pandas as pd

#创建一个计算数据的函数
def calculate(df):
  pass

#读取原始数据,将索引列去除
df = pd.read_excel('需求0621.xlsx',index_col=0)
#调用计算数据的函数
calculate(df)

先把整体思路写好,再去想办法计算每项数据

#计算累计和
    lst1 = []
    sum = 0
    for i in range(df.shape[0]):
        if i == 0:
            lst1.append(df['N'][i])
            sum += df['N'][i]
        else:
            sum += df['N'][i]
            lst1.append(sum)
    df['累计和'] = lst1
#计算回撤
    lst2 = []
    max = 0
    for i in range(df.shape[0]):
        if i == 0:
            lst2.append(0)
        elif df['累计和'][i] > max:
            max = df['累计和'][i]
            lst2.append(0)
        elif df['累计和'][i] < max:
            lst2.append(df['累计和'][i]-max)
        elif df['累计和'][i] == max:
            lst2.append(0)
    df['回撤'] = lst2
#计算连续正确的个数
    lst3 = []
    correct = 0
    for i in range(df.shape[0]):
        if df['N'][i] >= 0:
            correct += 1
            lst3.append(correct)
        else:
            lst3.append(0)
            correct = 0
    df['连续正确'] = lst3
#计算连续错误的个数
    lst4 = []
    mistake = 0
    for i in range(df.shape[0]):
        if df['N'][i] < 0:
            mistake += 1
            lst4.append(mistake)
        else:
            lst4.append(0)
            mistake = 0
    df['连续错误'] = lst4
#计算连续正确值
    lst5 = []
    for i in range(df.shape[0]):
        lst5.append('')
    right = 0
    for i in range(df.shape[0]):
        if df['连续正确'][i] != 0:
            right += df['N'][i]
        elif df['连续正确'][i] == 0 and right != 0:
            lst5[i-1] = right
            right = 0
    df['连续正确值'] = lst5
#计算连续错误值
    lst6 = []
    for i in range(df.shape[0]):
        lst6.append('')
    wrong = 0
    for i in range(df.shape[0]):
        if df['连续错误'][i] != 0:
            wrong += df['N'][i]
        elif df['连续错误'][i] == 0 and wrong != 0:
            lst6[i-1] = wrong
            wrong = 0
    df['连续错误值'] = lst6

最后将dataframe保存到excel

    df.to_excel('完成计算.xlsx')
    print('保持成功')

最终结果

技术总结

虽然已经完成了要求计算出了所有的数据,但在写代码过程中计算的步骤都是基于python基础语法实现的,对于pandas的使用还要只有通过大量的练习才能够熟练的掌握

我是政胤 期待你的关注

  • 35
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 29
    评论
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

政胤.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值