您好,登錄后才能下訂單哦!
Python中怎么利用pandas實現(xiàn)按條件選擇,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
Excel 函數(shù)中有一個初學者都能馬上學會的函數(shù)——IF 函數(shù),而在 pandas 中卻沒有對應效果的方法,這是因為 numpy 已經有了對應的實現(xiàn)—— where。
他能根據(jù)條件(true 或者 false) 返回不同的值。由于需要使用 numpy 的方法,因此代碼的開始需要導入 numpy 包:
1import pandas as pd
2import numpy as np
如下學生成績表:
高于等于60分算合格,C列打上"是",否則打上"否"
典型的根據(jù)條件選擇某個值的需求
如此簡單的需求,Excel 中一個 IF 函數(shù)輕松解決:
IF 函數(shù)第一參數(shù)是條件,第二參數(shù)是當?shù)谝粭l件為 true 時的返回,第三參數(shù)是當?shù)谝粭l件為 false 時的返回
在使用 numpy.where 方法時的邏輯與上述 Excel 的 IF 函數(shù)一致:
1df = pd.read_excel('data.xlsx', 'sp1')
2df['res'] = np.where(df.成績>=60,'是','否')
3df
行2:np.where 各個參數(shù)都能接受 pandas 的列(Series)
如果你看過本系列文章會發(fā)現(xiàn),怎么當初入門 Python 的時候,學習的各種處理列表、字典的技巧全都用不上了。甚至 if、for 循環(huán)都很少用到了。
在 pandas 中其實也可以選擇用 Python 的基本語法處理。
比如上面的例子,我們可以用 apply:
1df = pd.read_excel('data.xlsx', 'sp1')
2
3def ap_where(x):
4 if x >= 60:
5 return '是'
6 return '否'
7
8df['res'] = df.成績.apply(ap_where)
9df
看完上述內容,你們掌握Python中怎么利用pandas實現(xiàn)按條件選擇的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。