pandas——数据查询与排序

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档



pandas是什么?

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Numpy主要用于数值计算,Pandas主要用于数据的读取和查询。

在这里插入图片描述
本次所用数据如上图所示,名次为int型,日期为int型,默认索引从0开始。总计550条数据



1.查询数据

1.1 .loc方法

该方法既能查询又能覆盖写入,强烈推荐!!! 下面介绍用该方法查询数据的几种方法

  1. 使用单个label值查询数据 行或者列都可以只插入单个值
print(df.loc[1, '电影名称'])             # 得到一个值
print(df.loc[1, ['电影名称', '人次']])    # 得到一个Series
print(df.loc[:, '电影名称'])             # 得到一整列
print(df.loc[0])                        # 得到一整行
  1. 使用值列表批量查询
print(df.loc[[1, 4, 8], ['电影名称', '人次']])  #行标签和列标签均为一个列表

在这里插入图片描述

  1. 使用数值区间进行范围查询 该区间是前后都闭合的区间
print(df.loc[2:7, '电影名称':'总场次'])

在这里插入图片描述

  1. 使用条件表达式进行条件查询
# 返回的数据要符合:日期>20190214  总场次>90000  票价>38.7
print(df.loc[(df['日期'] > 20190214) & (df['总场次'] > 90000) & (df['票价'] > 38.7)])

在这里插入图片描述

  1. 调用函数查询
def query_row(df):
    return (df['总场次'] > 95000) & (df['票价'] > 38.7)

print(df.loc[query_row, :])   # 定义一个条件筛选函数,直接传入loc方法

在这里插入图片描述

1.2 .where方法
1.3 .query方法

2.数据扩充

  1. 直接赋值
df.loc[:, '新列'] = df['总场次'] - df['票价']
print(df.head(5))    

在这里插入图片描述

  1. .apply方法
  2. .assign方法
  3. 按条件选择分组分别赋值

3.数据排序

3.1 Series排序

在这里插入图片描述

df['票价'].sort_values()                  #升序排序   返回值为一个Series
df['票价'].sort_values(ascending=False)  # 降序排序   返回值为一个Series
3.2 DataFrame排序

在这里插入图片描述

# 多列排序
df.sort_values(by=['总场次', '票价'])
df.sort_values(by=['总场次', '票价'], ascending=False)  # 两个字段都是降序
df.sort_values(by=['总场次', '票价'], ascending=[True, False])  # 一个字段升序,一个字段降序

4.字符串处理

在这里插入图片描述
获取表格数据中的某一列后,其类型是Series,要先获取Series的str属性才能进行字符串操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值