• DataFrame中的isin查询使用


    代码实例:

    1)包含

    df1=df[ df["学号"].isin(myNumber)]

    2)不包含

    df1=df[ ~df["学号"].isin(myNumber)]

    3)多条件

    或(满足某一个即可)

    filt_1 = df['name'].isin(['网易','百度'])
    filt_2 = df['age'] == df['age'].min()
    df2= df[ filt_1 | filt_2 ]

    并且(同时满足多个条件)

    filter1 = data["Gender"].isin(["Female"])

    filter2 = data["Team"].isin(["Engineering", "Distribution", "Finance" ])

     data[filter1 & filter2]

    =======================================================

    1. DataFrame条件查询操作
    获取DataFrame中满足条件的数据

    基本格式:

    df.loc[条件...]
    df.query('条件...')
    loc和query如果跟多个条件可以用&、|表示条件之间的关系

    #获取Age大于60且小于80的科学家信息
    scientists.loc[(scientists['Age']>60)&(scientists['Age']<80)]
    scientists.loc[(scientists.Age>60)&(scientists.Age<80)]
    scientists.query('Age > 60 & Age < 80')
    2. DataFrame分组聚合操作
    指定列分组,并对分组数据的相应列进行行相应的聚合操作

    基本格式:

    df.groupby(列标签,...).列标签.聚合函数()
    df.groupby(列标签,...).agg({'列标签':'聚合',...})
    df.groupby(列标签,...).aggregate({'列标签':'聚合',...})
    如果聚合的列标签只有一个,则返回的是一个Series数据

    常见聚合函数:

    方式    说明
    mean    计算平均值
    max    计算最大值
    min    计算最小值
    sum    求和
    count    计数(非空数据数目)
    #按照Occupation职业分组,并计算每组年龄的平均值
    scientists.groupby('Occupation').Age.mean()
    scientists.groupby('Occupation')['Age'].mean()
    #按照Occupation职业分组,并计算每组人数和年龄的平均值
    scientists.groupby('Occupation').agg({'Name':'count','Age':'mean'})
    3. DataFrame排序操作
    基本格式:

    方法    说明
    df.sort_values(by=['列标签'],ascending=True)    将DataFrame按照指定列标签按升序进行排序
    df.sort_index(ascending=True)    将DataFrame按照行标签升序排序
    ascending参数默认是True表示升序

    seies也可以使用sort_values和sort_index函数进行排序,只不过series的sort_values方法没有by参数

    #按照 Age 从小到大进行排序
    scientists.sort_values(by=['Age'],ascending=True)
    #按照 Age 从大到小进行排序
    scientists.sort_values(by=['Age'],ascending=False)
    # 按照行标签从大到小进行排序
    scientists.sort_index(ascending=False)
    4. nlargest和nsmallest函数
    基本格式:

    方法    说明
    df.nlargest(n,columns=‘列标签’)    
    按照columns指定的列进行降序,并取前n行数据

    df.nsmallest(n,columns=‘列标签’)    按照columns指定的列进行升序,并取前n行数据
    #获取 Age 最大的前 3 行数据
    scientists.nlargest(3,columns='Age')
    #获取 Age 最小的前 3 行数据
    scientists.nsmallest(3,columns='Age')

  • 相关阅读:
    C++数据结构:并查集
    如何修改第三方DLL文件名
    网络层--IP协议
    风电场视频监控:如何实现风电场可视化、智慧化管理模式?
    C语言学习-数组应用-三子棋(4.1)
    记一次doc、docx转html的过程
    记一次nginx配置不当引发的499与failover 机制失效
    JS数组和字符串的原生方法
    Java注解与反射系列——利用反射进行数据自动填充(代替Mybatis-plus的自动填充)
    elasticSearch+kibana+logstash+filebeat集群改成https认证
  • 原文地址:https://blog.csdn.net/sichuanpb/article/details/131050920