• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

数据预处理 1.4 DataFrame查询

武飞扬头像
pp喜欢大数据
帮助1

目录

1. DataFrame条件查询操作

2. DataFrame分组聚合操作

3. DataFrame排序操作

4. nlargest和nsmallest函数


1. DataFrame条件查询操作

获取DataFrame中满足条件的数据

基本格式:

df.loc[条件...]
df.query('条件...')

loc和query如果跟多个条件可以用&、|表示条件之间的关系

  1.  
    #获取Age大于60且小于80的科学家信息
  2.  
    scientists.loc[(scientists['Age']>60)&(scientists['Age']<80)]
  3.  
    scientists.loc[(scientists.Age>60)&(scientists.Age<80)]
  4.  
    scientists.query('Age > 60 & Age < 80')

2. DataFrame分组聚合操作

指定列分组,并对分组数据的相应列进行行相应的聚合操作

基本格式:

df.groupby(列标签,...).列标签.聚合函数()
df.groupby(列标签,...).agg({'列标签':'聚合',...})
df.groupby(列标签,...).aggregate({'列标签':'聚合',...})

如果聚合的列标签只有一个,则返回的是一个Series数据

常见聚合函数:

方式 说明
mean 计算平均值
max 计算最大值
min 计算最小值
sum 求和
count 计数(非空数据数目)
  1.  
    #按照Occupation职业分组,并计算每组年龄的平均值
  2.  
    scientists.groupby('Occupation').Age.mean()
  3.  
    scientists.groupby('Occupation')['Age'].mean()
  4.  
    #按照Occupation职业分组,并计算每组人数和年龄的平均值
  5.  
    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参数

  1.  
    #按照 Age 从小到大进行排序
  2.  
    scientists.sort_values(by=['Age'],ascending=True)
  3.  
    #按照 Age 从大到小进行排序
  4.  
    scientists.sort_values(by=['Age'],ascending=False)
  5.  
    # 按照行标签从大到小进行排序
  6.  
    scientists.sort_index(ascending=False)

4. nlargest和nsmallest函数

基本格式:

方法 说明
df.nlargest(n,columns=‘列标签’)

按照columns指定的列进行降序,并取前n行数据

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfibefg
系列文章
更多 icon
同类精品
更多 icon
继续加载