小象学院_数据分析_第5关 全球哪个国家最年轻_筛选与排序笔记

1.数据筛选:

# 计算各个国家的年龄中位数大于39的行数据,若是大于39,则会返回True,表示该行被标记为True,否则被标记为False
booleans= df['Med Age']>39
#打印booleans的前10行数据
booleans.head(10)
# 通过以上操作得到了一组bool值,每个bool值对应了一行数据,为True,表示对应的行会留下,否则,则去除
df[booleans]
# TODO
# 打印数据的维度
df[booleans].shape

1.1多条件联合筛选:

bool1=df['Med Age']>39 
bool2=df['Population']>50000000
df[bool1 & bool2]

&是一个位运算符,它会对连接的两个值进行逻辑与运算,在键盘上使用shift+&可以输入&符号。
它的作用可以解释为,若是其中一个值为False,那么结果就为False,若是两个值均为True,那么结果也为True'''
例子:
import pandas as pd
n1 = [True,True,False,False]
n2 = [True,False,True,False]
dict_n = {'n1':n1,'n2':n2}
df = pd.DataFrame(dict_n)
df['| result'] = df['n1'] | df['n2']
df

输出:在这里插入图片描述

1.2列表筛选:
DataFrame和Series都提供了isin() 方法,用来判断其中的元素是否属于某个列表

country_list=['Germany','France','United Kingdom']
booleans=df['Country'].isin(country_list)
df[booleans]

2.数据排序

  • 按行索引倒序排序:
    df.sort_index(inplace=True,ascending=False)
  • 按列进行排序:
    df.sort_values(by,[para])
  • 多列排序:
    df.sort_values(by=[‘Med Age’,‘Population’],ascending=[True,False]).head(10)

3.筛选和排序联合

med_age_filter=df['Med Age']<20
df[med_age_filter].sort_values(by='Population',ascending=False).head(5)

4.pandas常用统计函数
pandas里常用的统计函数包括:

  • count( ):统计列表中非空数据的个数
  • nunique( ):统计非重复的数据的个数
  • sum( ):统计列表中所有数值的和
  • mean( ):计算列表中数据的平均值
  • median( ):统计列表中数据的中位数
  • max( ):求列表中数据的最大值
  • min( ):求找列表中数据的最小值
  • idxmax( ):返回最大值对应的索引值
  • idxmin( ):返回最小值对应的索引值

举例:

#年龄中位数最小的国家以及该国家年龄中位数
(df['Med Age'].idxmin() , df['Med Age'].min())
#陆地面积最大的国家以及该国家陆地面积
(df['Land Area'].idxmax(),df['Land Area'].max())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值