利用Python实现简单的Excel统计函数

 更新时间:2022年07月21日 16:14:22   投稿:hqx  
这篇文章主要介绍了利用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的使用还要只有通过大量的练习才能够熟练的掌握

到此这篇关于利用Python实现简单的Excel统计函数的文章就介绍到这了,更多相关Python实现Excel统计函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中创建一个包并引用使用的操作方法

    python中创建一个包并引用使用的操作方法

    python包在开发中十分常见,一般通过导入包含特定功能的python模块包进行使用。当然,也可以自己创建打包模块,然后发布,安装使用,这篇文章主要介绍了python中如何创建一个包并引用使用,需要的朋友可以参考下
    2022-08-08
  • 通过python获取甲流分布数据

    通过python获取甲流分布数据

    近期,多地学校出现因甲流导致的班级停课,儿科甲流患者就诊量呈数倍增长,今天我们同样的操作来获取下现在甲流感染的数据,需要的朋友可以参考下
    2023-03-03
  • python密码错误三次锁定(实例讲解)

    python密码错误三次锁定(实例讲解)

    下面小编就为大家分享一篇python密码错误三次锁定的实例讲解。具有很好的参考价值。希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • python字典添加值的方法及实例代码分享

    python字典添加值的方法及实例代码分享

    在本篇文章里小编给大家整理的是一篇关于python字典添加值的方法及实例代码讲解,有兴趣的朋友们可以学习下。
    2022-11-11
  • Python常用验证码标注和识别(需求分析和实现思路)

    Python常用验证码标注和识别(需求分析和实现思路)

    通过本文的介绍,我们了解了Python在常用验证码标注和识别方面的应用,在实际项目中,我们可以根据具体需求选择合适的模型和工具,实现高效、准确的验证码标注和识别,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测

    PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测

    hub 模块是调用别人训练好的网络架构以及训练好的权重参数,使得自己的一行代码就可以解决问题,方便大家进行调用,这篇文章主要介绍了PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测,需要的朋友可以参考下
    2023-03-03
  • Python 根据数据模板创建shapefile的实现

    Python 根据数据模板创建shapefile的实现

    今天小编就为大家分享一篇Python 根据数据模板创建shapefile的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python通过opencv实现图片裁剪原理解析

    python通过opencv实现图片裁剪原理解析

    这篇文章主要介绍了python通过opencv实现图片裁剪原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 从0开始的Python学习016异常

    从0开始的Python学习016异常

    这篇文章主要介绍了Python异常,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 利用Django提供的ModelForm增删改数据的方法

    利用Django提供的ModelForm增删改数据的方法

    这篇文章主要介绍了利用Django提供的ModelForm增删改数据,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01

最新评论