根据条件选择pandas DataFrame中的行
pandas 选择 条件 根据 dataframe
2023-09-14 08:57:38 时间
让我们看看如何根据 Pandas DataFrame 中的某些条件选择行。
使用运算符根据特定列值选择行'>', '=', '=', '<=', '!='
。
代码#1:使用基本方法从给定数据框中选择“百分比”大于 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 :使用 .从给定数据框中选择“百分比”大于 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:使用 .从给定数据框中选择“百分比”不等于 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:使用 .从给定数据框中选择选项列表中存在“流”的所有行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[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:使用基本方法从给定数据框中选择“年龄”等于 21 并且“流”出现在选项列表中的所有行。
# 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[]从给定数据框中选择“年龄”等于 21 并且“流”存在于选项列表中的所有行。
# 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)
# 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) |
输出 :
相关文章
- 在Pandas DataFrames中选择行和列使用iloc,loc和ix
- Pandas数据分析介绍
- Python语言学习之pandas:DataFrame二维表的简介、常用函数、常用案例(增删改查排序之选择指定列、根据条件选择特定数据、赋值、列名重命名、修改列数据、处理缺失值、列合并、分组之详细攻略
- 100天精通Python(数据分析篇)——第76天:Pandas数据类型转换函数pd.to_numeric(参数说明+实战案例)
- 100天精通Python(数据分析篇)——第72天:Pandas文本数据处理方法之判断类型、去除空白字符、拆分和连接
- 100天精通Python(数据分析篇)——第64天:Pandas分组groupby函数案例
- 如何使用pandas分析金融数据
- 深度盘点:整理100个 Pandas 常用函数
- 聊聊我的 Pandas 学习经历及动手实践
- 推荐 3 个Pandas数据探索分析神器
- 这可能是最全的总结了,详解 20 个 pandas 读与写函数
- pandas实现向已有excel中添加sheet(不覆盖)
- Pandas 删除指定列中为NaN的行
- Lesson3——Pandas Series结构
- 上手Pandas,带你玩转数据(2)-- 使用pandas从多种文件中读取数据