zoukankan      html  css  js  c++  java
  • 根据条件在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 :
    ", dataframe) 
    
    # selecting rows based on condition 
    rslt_df = dataframe[dataframe['Percentage'] > 80] 
    
    print('
    Result dataframe :
    ', 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 :
    ", dataframe) 
    
    # selecting rows based on condition 
    rslt_df = dataframe.loc[dataframe['Percentage'] > 80] 
    
    print('
    Result dataframe :
    ', 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 :
    ", dataframe) 
    
    # selecting rows based on condition 
    rslt_df = dataframe.loc[dataframe['Percentage'] != 95] 
    
    print('
    Result dataframe :
    ', 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 :
    ", dataframe) 
    
    options = ['Math', 'Commerce'] 
    
    # selecting rows based on condition 
    rslt_df = dataframe[dataframe['Stream'].isin(options)] 
    
    print('
    Result dataframe :
    ', 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 :
    ", dataframe) 
    
    options = ['Math', 'Commerce'] 
    
    # selecting rows based on condition 
    rslt_df = dataframe.loc[dataframe['Stream'].isin(options)] 
    
    print('
    Result dataframe :
    ', 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 :
    ", dataframe) 
    
    options = ['Math', 'Science'] 
    
    # selecting rows based on condition 
    rslt_df = dataframe.loc[~dataframe['Stream'].isin(options)] 
    
    print('
    result dataframe :
    ', 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 :
    ", dataframe) 
    
    options = ['Math', 'Science'] 
    
    # selecting rows based on condition 
    rslt_df = dataframe[(dataframe['Age'] == 21) & 
            dataframe['Stream'].isin(options)] 
    
    print('
    Result dataframe :
    ', 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 :
    ", dataframe) 
    
    options = ['Math', 'Science'] 
    
    # selecting rows based on condition 
    rslt_df = dataframe.loc[(dataframe['Age'] == 21) & 
                dataframe['Stream'].isin(options)] 
    
    print('
    Result dataframe :
    ', rslt_df) 

    输出:

  • 相关阅读:
    微信小程序之界面交互反馈
    微信小程序引入腾讯地图API方法
    微信小程序动态修改页面标题setNavigationBarTitle
    JavaScript中||和&&的运算
    微信小程序 使用include导入wxml文件注意的问题
    idea中文乱码及maven项目配置问题
    Linux常用命令大全
    2018年深圳,武汉房价走势分析
    redis安装,windows,linux版本并部署服务
    dubbo基础学习总结
  • 原文地址:https://www.cnblogs.com/a00ium/p/13876747.html
Copyright © 2011-2022 走看看