pandas主要的两个数据结构是:series(相当于一行或一列数据机构)和DataFrame(相当于多行多列的一个表格数据机构)。

本文为了方便理解会与excel或者sql操作行或列来进行联想类比

1.重新索引:reindex和ix

上一篇中介绍过数据读取后默认的行索引是0,1,2,3...这样的顺序号。列索引相当于字段名(即第一行数据),这里重新索引意思就是可以将默认的索引重新修改成自己想要的样子。

1.1 Series

比方说:data=Series([4,5,6],index=['a','b','c']),行索引为a,b,c。

我们用data.reindex(['a','c','d','e'])修改索引后则输出:

可以理解成我们用reindex设了索引后,根据索引去原来data里面匹配对应的值,没匹配上的就是NaN。

1.2 DataFrame

(1)行索引修改:DataFrame行索引同Series

(2)列索引修改:列索引用reindex(columns=['m1','m2','m3']),用参数columns来指定对列索引进行修改。修改逻辑类似行索引,也是相当于用新列索引去匹配原来的数据,没匹配上的置NaN

例:

(3)同时对行和列索引进行修改可以用

2.丢弃指定轴上的列(通俗的说法就是删除行或者列):drop

通过索引进行选择删除哪一行或者哪一列

data.drop(['a','c'])  相当于delete table a where xid='a' or xid='c'

data.drop('m1',axis=1)相当于delete table a where yid='m1'

3.选取和过滤(通俗的说就是sql中按照条件筛选查询)

python中因为有行列索引,在做数据的筛选会比较方便

3.1 Series

(1)按照行索引进行选择如

  • obj['b']相当于select * from tb where xid='b'
  • obj['b','a','c']相当于select * from tb where xid in ('a','b','c'),且结果按照b ,a ,c 的顺序排列后进行展示,这是与sql的区别
  • obj[0:1]和obj['a':'b']的区别如下:

#前者是不包含末端,后者是包含了末端

(2)按照值的大小进行筛选obj[obj>-0.6]相当于在obj数据中找出值比-0.6大的记录进行展示

3.2 DataFrame

(1)选择单行用ix或者xs:

如筛选索引为b的那条行记录用以下三种方式

(2)选择多行:

筛选索引为a,b的两条行记录的方式

#以上不能直接写成data[['a','b']]

data[0:2]表示从第一行到第二行的记录。第一行默认从0开始数,不包含末端的2。

(3)选择单列

筛选m1列的所有行记录数据

(4)选择多列

筛选m1,m3两个列,所有行记录的数据

ix[:,['m1','m2']]前面的:表示所有的行都筛选进来。

(5)根据值的大小条件筛选行或者列

如筛选出某一列值大于4的所有记录相当于select * from tb where 列名>4

(6)如果筛选某列值大于4的所有记录,且只需展示部分列的情况时

行用条件进行筛选,列用[0,2]筛选第一列和第三列的数据

转载于:https://www.cnblogs.com/gangandimami/p/8983323.html

pandas数据处理基础——筛选指定行或者指定列的数据相关推荐

  1. python pandas 把数据保存成csv文件,以及读取csv文件获取指定行、指定列数据

    文章目录: 1 数据说明 2 把数据集文件信息使用python pandas保存成csv文件 3 使用python pandas 读取csv的每行.每列数据 1 数据说明 1.在test_data目录 ...

  2. css3实现超出文本指定行数(指定文本长度)用省略号代替

    测试代码: 1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta name="viewport" c ...

  3. java实现小说阅读器(功能:查看全文、统计总行数/总页码数、查找指定行、指定页码、实现翻页)

    1.任务要求: 在DOS窗口下,实现查看全文.统计总行数/总页码数.查找指定行.指定页码.翻页 2.阅读器实现方式 输入1(查看全文.统计总行数/总页码数.) 输入2(读取指定行,查找其上下行) 输入 ...

  4. Numpy数组中删除指定位置、指定行或指定列的数据:numpy.delete()

    [小白从小学Python.C.Java] [Python-计算机等级考试二级] [Python-数据分析] Numpy数组中删除指定位置.指定行 或指定列的数据: numpy.delete() [太阳 ...

  5. pandas数据处理基础部分

    一.认识 1.pandas 主要是用来进行数据处理的库,里面不仅包含了数据处理.甚至还有 统计分析.相关计算,其内部封装了numpy 相关组件 2.结构三种形式:series(一维).datafram ...

  6. python导入excel表格给列命名_Python中对 Excel 的相关详细操作(读取、写入、指定行、指定列、新增sheet工作表)...

    工作中用到这点,就简单的整理了一下 目录 一.准备cateContent.xlsx工作簿 二.Python中关于Excel表格常用操作总结: 2.1  读取相关的操作 2.2  写入的相关操作: 三. ...

  7. 多维数组的行优先和列优先, 数据描述语言

    多维数组的行优先和列优先 这里以numpy为工具,介绍一下多维数组的行优先和列优先的概念. 首先我们生成一个3x4的数组: arr = np.arange(12).reshape(3,4) 它的形状是 ...

  8. python数据处理——pandas.read_csv()指定行索引和列索引

    一个比较简单的办法就是这样的 df=pd.read_csv('file.csv',header=0,index_col=0)

  9. pandas数据处理基础之标准化与标签数值化

    fit(): Method calculates the parameters μ and σ and saves them as internal objects. 解释:简单来说,就是求得训练集X ...

最新文章

  1. LVS(Linux Virtual Server)三种负载均衡模型和十种调度的简单介绍
  2. 今天遇到一个很奇怪的问题,XP系统屏幕全部旋转90度
  3. p2657 windy数
  4. movsb movsw movsd 指令详解
  5. 1.5 MFC封装思想
  6. 七日掌握设计配色基础_掌握正确的基础知识:如何设计网站的导航,搜索和首页...
  7. 每个Java程序员必须知道的5个JVM命令行标志
  8. oracle 删除用户和依赖,Oracle 12.2使用手动创建与注册依赖对象来执行联机重定义...
  9. mysql源码安装教程
  10. Telnet介绍及其安装
  11. 单片机软件反破解 Hex反破解 破解后的hex不能量产
  12. 屏幕录制专家linux版,录屏大师免费版下载-录屏大师全新下载V3.5.3-Linux公社
  13. 软考高级 真题 2014年下半年 信息系统项目管理师 论文
  14. 对称正定矩阵的Cholesky分解
  15. 阿里短信单发,批量发送
  16. 龙卷风收音机android安卓版,龙卷风收音机
  17. 统计元音(函数专题)
  18. 虚拟机快照、迁移、删除
  19. NPM Error: Cannot find module ‘caniuse-lite/data/features/css-unicode-bidi.js‘
  20. 微信小程序——1、自定义顶部渐变色2、封装好的自定义顶部栏(父组件获取子组件的点击事件)

热门文章

  1. Java支付宝二维码支付和退款,微信二维码支付
  2. 使用PaddleDetection自带脚本将自制labelme数据集转为coco格式
  3. C++函数传参int a,int *a,int a,const int a的区别
  4. 跨境电商如何用Facebook社媒平台开发海外精准客户
  5. Java获取当前时间前24小时时间
  6. Runtime+Compiler和Runtime-only如何选择?
  7. 论文记录1_YOLO系列(v1 v2 v3 v4)
  8. 计算机无法注册打印机,电脑中打印机添加不了怎么办
  9. 《iOS 高级编程》之Tableview进阶指南
  10. win10打印机共享不了就看看这,希望对大家有所帮助