在Python pandas中,有多種方法可以用于篩選數(shù)據(jù),其中包括使用布爾索引、使用.loc[]和.iloc[]運算符、使用.query()方法、使用isin()方法等。我們一起來看看一些demo,為以后自動化分析Excel打下基礎(chǔ)呀。
使用布爾索引可以根據(jù)一些條件篩選數(shù)據(jù)。例如,我們可以通過以下方式找到“age”列中大于25歲的所有行:
import pandas as pd # 創(chuàng)建數(shù)據(jù)集 data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'], 'age': [25, 30, 22, 27], 'gender': ['M', 'M', 'M', 'F']} df = pd.DataFrame(data) # 用布爾索引篩選數(shù)據(jù) df[df['age'] > 25]
運行結(jié)果如下所示呀。
.loc[]和.iloc[]運算符也可以用于篩選數(shù)據(jù)。其中.loc[]是通過行和列的標(biāo)簽進(jìn)行篩選,而.iloc[]則是通過行和列的位置進(jìn)行篩選。例如,我們可以通過以下方式找到第一行和第二列的值:
import pandas as pd # 創(chuàng)建數(shù)據(jù)集 data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'], 'age': [25, 30, 22, 27], 'gender': ['M', 'M', 'M', 'F']} df = pd.DataFrame(data) # 使用.loc[]和.iloc[]運算符篩選數(shù)據(jù) df.loc[0, 'age'] df.iloc[0, 1]
運行結(jié)果如下所示呀。
.query()方法可以使用類似SQL的語法來篩選數(shù)據(jù)。例如,我們可以通過以下方式找到“age”列中大于25歲的所有行:
import pandas as pd # 創(chuàng)建數(shù)據(jù)集 data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'], 'age': [25, 30, 22, 27], 'gender': ['M', 'M', 'M', 'F']} df = pd.DataFrame(data) # 使用.query()方法篩選數(shù)據(jù) df.query('age > 25')
運行結(jié)果如下所示呀。
.isin()方法可以用于篩選某一列中包含特定值的所有行。例如,我們可以通過以下方式找到“gender”列中包含“M”和“F”的所有行:
import pandas as pd # 創(chuàng)建數(shù)據(jù)集 data = {'name': ['Tom', 'Jerry', 'Mickey', 'Minnie'], 'age': [25, 30, 22, 27], 'gender': ['M', 'M', 'M', 'F']} df = pd.DataFrame(data) # 使用.isin()方法篩選數(shù)據(jù) df[df['gender'].isin(['M', 'F'])]
運行結(jié)果如下所示呀。
以上就是幾種在pandas中篩選數(shù)據(jù)的方法。
聯(lián)系客服