按列值过滤 Pandas DataFrame 的方法
在这篇文章中,我们将看到按列值过滤 Pandas Dataframe 的不同方法。首先,让我们创建一个数据框:
Python3
# importing pandas
import pandas as pd
# declare a dictionary
record = {
'Name' : ['Ankit', 'Swapnil', 'Aishwarya',
'Priyanka', 'Shivangi', 'Shaurya' ],
'Age' : [22, 20, 21, 19, 18, 22],
'Stream' : ['Math', 'Commerce', 'Science',
'Math', 'Math', 'Science'],
'Percentage' : [90, 90, 96, 75, 70, 80] }
# create a dataframe
dataframe = pd.DataFrame(record,
columns = ['Name', 'Age',
'Stream', 'Percentage'])
# show the Dataframe
print("Given Dataframe :\n", dataframe)
Python3
# selecting rows based on condition
rslt_df = dataframe[dataframe['Percentage'] > 70]
print('\nResult dataframe :\n', rslt_df)
Python3
# selecting rows based on condition
rslt_df = dataframe.loc[dataframe['Percentage'] > 70]
print('\nResult dataframe :\n',
rslt_df)
Python3
options = ['Science', 'Commerce']
# selecting rows based on condition
rslt_df = dataframe[dataframe['Stream'].isin(options)]
print('\nResult dataframe :\n',
rslt_df)
Python
options = ['Science', 'Commerce']
# selecting rows based on condition
rslt_df = dataframe.loc[dataframe['Stream'].isin(options)]
print('\nResult dataframe :\n',
rslt_df)
Python3
options = ['Commerce' ,'Science']
# selecting rows based on condition
rslt_df = dataframe[(dataframe['Age'] == 22) &
dataframe['Stream'].isin(options)]
print('\nResult dataframe :\n',
rslt_df)
Python3
options = ['Commerce', 'Science']
# selecting rows based on condition
rslt_df = dataframe.loc[(dataframe['Age'] == 22) &
dataframe['Stream'].isin(options)]
print('\nResult dataframe :\n',
rslt_df)
输出:
方法 1:使用 '>', '=', '=', '<=', '!=' 运算符选择基于特定列值的 Pandas Dataframe 行。
示例 1:使用[ ]从给定数据框中选择“百分比”大于 75 的所有行。
蟒蛇3
# selecting rows based on condition
rslt_df = dataframe[dataframe['Percentage'] > 70]
print('\nResult dataframe :\n', rslt_df)
输出:
示例 2:从给定的 Dataframe 中选择“百分比”大于 70 的所有行,使用 位置[] 。
蟒蛇3
# selecting rows based on condition
rslt_df = dataframe.loc[dataframe['Percentage'] > 70]
print('\nResult dataframe :\n',
rslt_df)
输出:
方法 2:使用数据框的 isin() 方法选择列值存在于列表中的那些 Pandas 数据框行。
示例 1:使用[ ]从给定数据框中选择选项列表中存在 'Stream' 的所有行。
蟒蛇3
options = ['Science', 'Commerce']
# selecting rows based on condition
rslt_df = dataframe[dataframe['Stream'].isin(options)]
print('\nResult dataframe :\n',
rslt_df)
输出:
示例 2:使用loc[ ]从给定数据框中选择选项列表中存在 'Stream' 的所有行。
Python
options = ['Science', 'Commerce']
# selecting rows based on condition
rslt_df = dataframe.loc[dataframe['Stream'].isin(options)]
print('\nResult dataframe :\n',
rslt_df)
输出:
方法 3:使用 '&'运算符根据多列条件选择 Pandas Dataframe 的行。
示例 1:使用[ ]从给定的 Dataframe 中选择所有行,其中 'Age' 等于 22 并且 'Stream' 出现在选项列表中。
蟒蛇3
options = ['Commerce' ,'Science']
# selecting rows based on condition
rslt_df = dataframe[(dataframe['Age'] == 22) &
dataframe['Stream'].isin(options)]
print('\nResult dataframe :\n',
rslt_df)
输出:
示例 2:从给定的 Dataframe 中选择所有行,其中 'Age' 等于 22,并且使用loc[ ]选项列表中存在 'Stream'。
蟒蛇3
options = ['Commerce', 'Science']
# selecting rows based on condition
rslt_df = dataframe.loc[(dataframe['Age'] == 22) &
dataframe['Stream'].isin(options)]
print('\nResult dataframe :\n',
rslt_df)
输出: