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

白榆
白榆
发布时间:2026-10-15 | 5人浏览过
原创

本文介绍如何使用Python和Pandas库,对Excel原始数据进行统计分析。通过基础语法实现累计和、最大回撤、连续正确/错误次数及对应值的计算逻辑,并将结果保存回Excel文件,帮助开发者掌握数据处理的基本流程。

需求分析

根据提供的原始数据,需要计算六项关键指标:累计和、回撤、连续正确次数、连续错误次数、连续正确值总和以及连续错误值总和。判定规则为:原始数据大于等于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库的高级特性应用尚显不足。熟练运用Pandas仍需通过大量实际练习来积累。

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

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表