盤點一個使用Python實現(xiàn)Excel中找出第一個及最后一個不為零的數(shù),它們各自在第幾列
回復(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)閱讀
-
世界熱推薦:今晚7:00直播丨下一個突破...
今晚19:00,Cocos視頻號直播馬上點擊【預(yù)約】啦↓↓↓在運營了三年... -
NFT周刊|Magic Eden宣布支持Polygon網(wǎng)...
Block-986在NFT這樣的市場,每周都會有相當多項目起起伏伏。在過去... -
環(huán)球今亮點!頭條觀察 | DeFi的興衰與...
在比特幣得到機構(gòu)關(guān)注之后,許多財務(wù)專家預(yù)測世界將因為加密貨幣的... -
重新審視合作,體育Crypto的可靠關(guān)系才能雙贏
Block-987即使在體育Crypto領(lǐng)域,人們的目光仍然集中在FTX上。隨著... -
簡訊:前端單元測試,更進一步
前端測試@2022如果從2014年Jest的第一個版本發(fā)布開始計算,前端開發(fā)... -
焦點熱訊:劉強東這波操作秀
近日,劉強東發(fā)布京東全員信,信中提到:自2023年1月1日起,逐步為...