利用Python實現(xiàn)簡單的Excel統(tǒng)計函數(shù)
需求分析

根據(jù)原始數(shù)據(jù),計算出累計和、回撤、連續(xù)正確、連續(xù)錯誤、連續(xù)正確值與連續(xù)錯誤值6項數(shù)據(jù),其中原始數(shù)據(jù)大于等于0認定為正確,原始數(shù)據(jù)小于0為錯誤。明白了要求,那我們就開始擼代碼吧~
解決步驟
import pandas as pd
#創(chuàng)建一個計算數(shù)據(jù)的函數(shù)
def calculate(df):
pass
#讀取原始數(shù)據(jù),將索引列去除
df = pd.read_excel('需求0621.xlsx',index_col=0)
#調(diào)用計算數(shù)據(jù)的函數(shù)
calculate(df)先把整體思路寫好,再去想辦法計算每項數(shù)據(jù)
#計算累計和
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#計算連續(xù)正確的個數(shù)
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['連續(xù)正確'] = lst3#計算連續(xù)錯誤的個數(shù)
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['連續(xù)錯誤'] = lst4#計算連續(xù)正確值
lst5 = []
for i in range(df.shape[0]):
lst5.append('')
right = 0
for i in range(df.shape[0]):
if df['連續(xù)正確'][i] != 0:
right += df['N'][i]
elif df['連續(xù)正確'][i] == 0 and right != 0:
lst5[i-1] = right
right = 0
df['連續(xù)正確值'] = lst5#計算連續(xù)錯誤值
lst6 = []
for i in range(df.shape[0]):
lst6.append('')
wrong = 0
for i in range(df.shape[0]):
if df['連續(xù)錯誤'][i] != 0:
wrong += df['N'][i]
elif df['連續(xù)錯誤'][i] == 0 and wrong != 0:
lst6[i-1] = wrong
wrong = 0
df['連續(xù)錯誤值'] = lst6最后將dataframe保存到excel
df.to_excel('完成計算.xlsx')
print('保持成功')最終結(jié)果

技術(shù)總結(jié)
雖然已經(jīng)完成了要求計算出了所有的數(shù)據(jù),但在寫代碼過程中計算的步驟都是基于python基礎語法實現(xiàn)的,對于pandas的使用還要只有通過大量的練習才能夠熟練的掌握
到此這篇關于利用Python實現(xiàn)簡單的Excel統(tǒng)計函數(shù)的文章就介紹到這了,更多相關Python實現(xiàn)Excel統(tǒng)計函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Python如何統(tǒng)計函數(shù)調(diào)用的耗時
- python統(tǒng)計函數(shù)被調(diào)用次數(shù)的實現(xiàn)
- python?DataFrame數(shù)據(jù)分組統(tǒng)計groupby()函數(shù)的使用
- python統(tǒng)計函數(shù)庫scipy.stats的用法解析
- Python實現(xiàn)Mysql數(shù)據(jù)統(tǒng)計及numpy統(tǒng)計函數(shù)
- Python使用統(tǒng)計函數(shù)繪制簡單圖形實例代碼
- Python中統(tǒng)計函數(shù)運行耗時的方法
- python常見統(tǒng)計分析處理函數(shù)解讀
相關文章
python中創(chuàng)建一個包并引用使用的操作方法
python包在開發(fā)中十分常見,一般通過導入包含特定功能的python模塊包進行使用。當然,也可以自己創(chuàng)建打包模塊,然后發(fā)布,安裝使用,這篇文章主要介紹了python中如何創(chuàng)建一個包并引用使用,需要的朋友可以參考下2022-08-08
Python常用驗證碼標注和識別(需求分析和實現(xiàn)思路)
通過本文的介紹,我們了解了Python在常用驗證碼標注和識別方面的應用,在實際項目中,我們可以根據(jù)具體需求選擇合適的模型和工具,實現(xiàn)高效、準確的驗證碼標注和識別,感興趣的朋友跟隨小編一起看看吧2024-03-03
PyTorch?之?強大的?hub?模塊和搭建神經(jīng)網(wǎng)絡進行氣溫預測
hub 模塊是調(diào)用別人訓練好的網(wǎng)絡架構(gòu)以及訓練好的權(quán)重參數(shù),使得自己的一行代碼就可以解決問題,方便大家進行調(diào)用,這篇文章主要介紹了PyTorch?之?強大的?hub?模塊和搭建神經(jīng)網(wǎng)絡進行氣溫預測,需要的朋友可以參考下2023-03-03
Python 根據(jù)數(shù)據(jù)模板創(chuàng)建shapefile的實現(xiàn)
今天小編就為大家分享一篇Python 根據(jù)數(shù)據(jù)模板創(chuàng)建shapefile的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
python通過opencv實現(xiàn)圖片裁剪原理解析
這篇文章主要介紹了python通過opencv實現(xiàn)圖片裁剪原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-01-01
利用Django提供的ModelForm增刪改數(shù)據(jù)的方法
這篇文章主要介紹了利用Django提供的ModelForm增刪改數(shù)據(jù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01

