根據條件在Pandas DataFrame中選擇行


 

讓我們看看如何根據Pandas DataFrame中的某些條件選擇行。

使用'>', '=', '=', '<=', '!=' 運算符根據特定的列值選擇行

代碼1:使用基本方法從給定數據框中選擇'Percentage'大於80的所有行。

# importing pandas 
import pandas as pd 

record = { 

'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka', 'Priya', 'Shaurya' ], 
'Age': [21, 19, 20, 18, 17, 21], 
'Stream': ['Math', 'Commerce', 'Science', 'Math', 'Math', 'Science'], 
'Percentage': [88, 92, 95, 70, 65, 78] } 

# create a dataframe 
dataframe = pd.DataFrame(record, columns = ['Name', 'Age', 'Stream', 'Percentage']) 

print("Given Dataframe :\n", dataframe) 

# selecting rows based on condition 
rslt_df = dataframe[dataframe['Percentage'] > 80] 

print('\nResult dataframe :\n', rslt_df) 

 

輸出:

代碼2:使用選擇從給定數據幀中'Percentage'大於80的所有行loc[]

# importing pandas 
import pandas as pd 

record = { 
'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka', 'Priya', 'Shaurya' ], 
'Age': [21, 19, 20, 18, 17, 21], 
'Stream': ['Math', 'Commerce', 'Science', 'Math', 'Math', 'Science'], 
'Percentage': [88, 92, 95, 70, 65, 78]} 

# create a dataframe 
dataframe = pd.DataFrame(record, columns = ['Name', 'Age', 'Stream', 'Percentage']) 

print("Given Dataframe :\n", dataframe) 

# selecting rows based on condition 
rslt_df = dataframe.loc[dataframe['Percentage'] > 80] 

print('\nResult dataframe :\n', rslt_df) 

輸出:

代碼#3:使用選擇從給定數據幀中'Percentage'不等於95的所有行loc[]

# importing pandas 
import pandas as pd 

record = { 
'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka', 'Priya', 'Shaurya' ], 
'Age': [21, 19, 20, 18, 17, 21], 
'Stream': ['Math', 'Commerce', 'Science', 'Math', 'Math', 'Science'], 
'Percentage': [88, 92, 95, 70, 65, 78]} 

# create a dataframe 
dataframe = pd.DataFrame(record, columns = ['Name', 'Age', 'Stream', 'Percentage']) 

print("Given Dataframe :\n", dataframe) 

# selecting rows based on condition 
rslt_df = dataframe.loc[dataframe['Percentage'] != 95] 

print('\nResult dataframe :\n', rslt_df) 

 

輸出:

使用isin()數據框的方法選擇列值存在於列表中的那些行

代碼1:使用基本方法,從給定數據框中選擇選項列表中存在'Stream'的所有行。

# importing pandas 
import pandas as pd 

record = { 
'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka', 'Priya', 'Shaurya' ], 
'Age': [21, 19, 20, 18, 17, 21], 
'Stream': ['Math', 'Commerce', 'Science', 'Math', 'Math', 'Science'], 
'Percentage': [88, 92, 95, 70, 65, 78]} 

# create a dataframe 
dataframe = pd.DataFrame(record, columns = ['Name', 'Age', 'Stream', 'Percentage']) 

print("Given Dataframe :\n", dataframe) 

options = ['Math', 'Commerce'] 

# selecting rows based on condition 
rslt_df = dataframe[dataframe['Stream'].isin(options)] 

print('\nResult dataframe :\n', rslt_df) 

 

輸出:

代碼2:使用選擇從給定數據幀中選項列表中存在'Stream'的所有行loc[]

# importing pandas 
import pandas as pd 

record = { 
'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka', 'Priya', 'Shaurya' ], 
'Age': [21, 19, 20, 18, 17, 21], 
'Stream': ['Math', 'Commerce', 'Science', 'Math', 'Math', 'Science'], 
'Percentage': [88, 92, 95, 70, 65, 78]} 

# create a dataframe 
dataframe = pd.DataFrame(record, columns = ['Name', 'Age', 'Stream', 'Percentage']) 

print("Given Dataframe :\n", dataframe) 

options = ['Math', 'Commerce'] 

# selecting rows based on condition 
rslt_df = dataframe.loc[dataframe['Stream'].isin(options)] 

print('\nResult dataframe :\n', rslt_df) 

 

輸出:

代碼3:使用選擇從給定數據幀中選項列表中不存在'Stream'的所有行.loc[]

# importing pandas 
import pandas as pd 

record = { 
'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka', 'Priya', 'Shaurya' ], 
'Age': [21, 19, 20, 18, 17, 21], 
'Stream': ['Math', 'Commerce', 'Science', 'Math', 'Math', 'Science'], 
'Percentage': [88, 92, 95, 70, 65, 78]} 

# create a dataframe 
dataframe = pd.DataFrame(record, columns = ['Name', 'Age', 'Stream', 'Percentage']) 

print("Given Dataframe :\n", dataframe) 

options = ['Math', 'Science'] 

# selecting rows based on condition 
rslt_df = dataframe.loc[~dataframe['Stream'].isin(options)] 

print('\nresult dataframe :\n', rslt_df) 

 

輸出:

使用'&'運算符根據多個列條件選擇行

代碼1: 使用基本方法,從給定數據框中選擇'Age'等於21並且'Stream'出現在選項列表中的所有行。

# importing pandas 
import pandas as pd 

record = { 
'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka', 'Priya', 'Shaurya' ], 
'Age': [21, 19, 20, 18, 17, 21], 
'Stream': ['Math', 'Commerce', 'Science', 'Math', 'Math', 'Science'], 
'Percentage': [88, 92, 95, 70, 65, 78]} 

# create a dataframe 
dataframe = pd.DataFrame(record, columns = ['Name', 'Age', 'Stream', 'Percentage']) 

print("Given Dataframe :\n", dataframe) 

options = ['Math', 'Science'] 

# selecting rows based on condition 
rslt_df = dataframe[(dataframe['Age'] == 21) & 
        dataframe['Stream'].isin(options)] 

print('\nResult dataframe :\n', rslt_df) 

輸出:

代碼2:使用.loc []從給定數據框中選擇所有行,其中'Age'等於21,並且'Stream'出現在選項列表中

# importing pandas 
import pandas as pd 

record = { 
'Name': ['Ankit', 'Amit', 'Aishwarya', 'Priyanka', 'Priya', 'Shaurya' ], 
'Age': [21, 19, 20, 18, 17, 21], 
'Stream': ['Math', 'Commerce', 'Science', 'Math', 'Math', 'Science'], 
'Percentage': [88, 92, 95, 70, 65, 78]} 

# create a dataframe 
dataframe = pd.DataFrame(record, columns = ['Name', 'Age', 'Stream', 'Percentage']) 

print("Given Dataframe :\n", dataframe) 

options = ['Math', 'Science'] 

# selecting rows based on condition 
rslt_df = dataframe.loc[(dataframe['Age'] == 21) & 
            dataframe['Stream'].isin(options)] 

print('\nResult dataframe :\n', rslt_df) 

輸出:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM