尤物视频网站_国产精品成人在亚洲_国产成人亚洲综合无码不卡精品_丁香五月香婷婷五月_亚洲成AV人片高潮喷水

您的位置:首頁 >聚焦 >

盤點一個使用Python實現(xiàn)Excel中找出第一個及最后一個不為零的數(shù),它們各自在第幾列

2022-11-25 05:46:59    來源:程序員客棧
點擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進行關(guān)注

回復(fù)“書籍”即可獲贈Python從入門到進階共10本電子書


(相關(guān)資料圖)

林表明霽色,城中增暮寒。

大家好,我是皮皮。

一、前言

前幾天在小小明大佬的Python交流群中遇到一個粉絲問了一個使用Python實現(xiàn)Excel中找出第一個及最后一個不為零的數(shù),它們各自在第幾列的問題,覺得還挺有用的,這里拿出來跟大家一起分享下。

數(shù)據(jù)截圖如下所示:

二、實現(xiàn)過程

這里【小小明】大佬給了一個方法,使用Pandas實現(xiàn),如下所示:

# code by:小小明大佬importpandasaspddf=pd.read_excel("Data.xlsx",header=1,usecols="B:K")result=[]forrowindf.itertuples():code=row.Indexrow=pd.Series(row[1:])row.index+=1#默認索引從0開始,但是他要求編號從1開始row=row[row!=0]#print(row)s_num,s_i,e_num,e_i=[pd.NA]*4ifrow.shape[0]>0:#row.shape[0],row是過濾后的數(shù)據(jù),row.shape[0]非零數(shù)據(jù)的長度,等價于len(row)s_num,s_i,e_num,e_i=row.iat[0],row.index[0],row.iat[-1],row.index[-1]result.append([code,s_num,s_i,e_num,e_i])result=pd.DataFrame(result,columns=["產(chǎn)品編碼","起始數(shù)","起始位置","結(jié)束數(shù)","結(jié)束位置"])print(result)

運行之后,可以得到預(yù)期的結(jié)果:順利地解決了粉絲的問題。

這里再補充下,df.itertuples()生成一個namedtuples類型數(shù)據(jù),name默認名為Pandas,可以在參數(shù)中指定。

與df.iterrows()相比,df.itertuples()運行速度會更快一些,推薦在數(shù)據(jù)量龐大的情況下優(yōu)先使用。

群里臥虎藏龍的,后來也有大佬給了一個Excel實現(xiàn)的方式,如下所示:

這個Excel的功夫算是到家了,公式確實寫的長。

你以為這就完了?NO!

后來明佬還基于WPS宏代碼實現(xiàn)了這個需求,實在是太強了!我對宏代碼實現(xiàn)不了解,這里發(fā)出來給大家觀摩了,感興趣的小伙伴自行學(xué)習(xí)下,如下圖所示。

三、總結(jié)

大家好,我是皮皮。這篇文章主要盤點了一個Python實現(xiàn)Excel中篩選數(shù)據(jù)的問題,文中針對該問題,給出了具體的解析和代碼實現(xiàn),幫助粉絲順利解決了問題。文中一共提供了三個方法,分別是使用Python,Excel公式實現(xiàn),以及宏代碼實現(xiàn),干貨滿滿!

最后感謝粉絲提問,感謝【小小明】大佬給出的思路和代碼解析,感謝【皮皮】等人參與學(xué)習(xí)交流。

大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時聯(lián)系我解決(我的微信:pdcfighting),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費學(xué)習(xí)交流群和付費接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!

小伙伴們,快快用實踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。

-------------------End-------------------

往期精彩文章推薦:

盤點一個網(wǎng)絡(luò)爬蟲POST請求參數(shù)構(gòu)造的問題

盤點一個Python基礎(chǔ)中循環(huán)判斷遇到一個小問題

重裝pycharm和Python環(huán)境以后,以前的文件selenium獲取不到元素了?

不使用內(nèi)置函數(shù)的情況下,如何使用Python實現(xiàn)求平均值、最大值和最小值?

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群】

萬水千山總是情,點個【在看】行不行

/今日留言主題/

隨便說一兩句吧~~

關(guān)鍵詞: 學(xué)習(xí)交流 的情況下 遇到問題

相關(guān)閱讀