1樓:黃寶臣
df['a'].
(lambdax:
0iftype(x
)isstrelsex)
.sum
()先用if語句判斷是否是str型別,是的話轉成0就行了,最後運算。
2樓:本圖希
假設你的資料集,是某一列中存在混合型別的資料,那麼我們要做的就是把能夠進行浮點轉換的數挑出來的過程。將乙個「對應位置為True or False來表示原位置是否為浮點」的陣列傳遞給df進行篩選,是df中進行篩選的最高效的辦法。
所以我們要做的就是先生成這個布林陣列。
假設有df = pd.DataFrame()
顯然,a所在的列有乙個字元'b'混在裡面,直接執行 df['a'].astype('float32')會報錯。
defjudge(x
):try
:float(x
)return
True
except
ValueError
:return
Falsedf=
df.loc[df[
'a'].(
lambdax:
judge(x
))]df
.loc
[:,'a'].
sum()
我們先實現乙個函式,用來判斷這個位置能不能執行 float()函式,如果成功/失敗,就返回True/False
將這個函式應用到我感興趣的列,會得到乙個Boolean陣列,類似[False, True, True]。將這個Boolean陣列傳遞給df之後,實際上只有True的位置的資料能夠保留下來。
於是自然就得到了你想要的篩選效果。
之後再求和應該很簡單,就不多說了。
如何使用python中timedelta這個類實現月份的累加。
首先這個問題用timedelta沒有直接的實現方法,給你兩個造好的輪子,你看哪個爽用哪個 import datetime z datetime.datetime 2016,12,17 1.import dateutil z dateutil.relativedelta.relativedelta m...
Python中的print函式怎麼使用?
隨風潛夜 print 函式是最常見的乙個函式,用於輸出列印資料 print 在 Python3.x 是乙個函式,但在 Python2.x 版本不是乙個函式,只是乙個關鍵字。具體使用語法 print objects,sep end n file sys.stdout,flush False objec...
Python中BytesIO的使用場景,什麼時間應該使用BytesIO?
lxkaka 列舉一種場景,把資料寫入檔案再上傳到儲存服務比如阿里雲OSS,aws的S3,這個時候可以用ByetesIO來讀寫資料。 黃哥 Python 3 中字串是str型別,記憶體讀寫字串用StringIO。記憶體讀寫bytes 用BytesIO。bytes 和str 轉換用encode 和de...