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. Quixel megascans模型材质贴图合集包
  2. 取余运算 C和python的区别
  3. select查询中@作用_SQL学习第四关:复杂查询
  4. 用vue-cli3从0打造一个完整的UI库
  5. SAP Engagement Center的ShellCarousel控件control
  6. java midi 解析_Java从MIDI键盘获取输入
  7. hdu 4597 + uva 10891(一类区间dp)
  8. JAX-RS 2.0:服务器端处理管道
  9. 面试官 | Java中的注解是如何工作的?
  10. java二分法排序算法_Java中使用二分法排序
  11. spring-boot子模块打包去掉BOOT-INF文件夹
  12. 翻译: 如何使用 Xcode 的内存图调试器检测 iOS 内存泄漏并保留周期
  13. C#对Java--微软的反击
  14. 养生之道——》早上刷牙干呕&&慢性烟炎
  15. 我学炒外汇 第二十一篇波浪理论
  16. java 获取当前时间所在自然周起止时间及自然周中的每一天
  17. MyBatis——》转义字符(大于,小于,大于等于,小于等于)
  18. 户外电源品牌之间比较的是什么?
  19. Sensing Pressure Distribution on a Lower-Limb Exoskeleton
  20. Spiking GATs(基于尖峰神经网络的学习图注意)论文学习笔记

热门文章

  1. 架构整洁之道(三)-解耦合与复用
  2. 易水之畔 自动刷冒险任务 刷金币 安卓模拟器 手机助手
  3. 宁都中学2021高考成绩查询,燃爆了!宁都中学2021届学子高声呐喊……
  4. OA厂商的硬实力—技术水平
  5. uniapp使用输入框固定在底部键盘弹起把输入框挡住问题
  6. 程序创业会有哪些坑?
  7. 步进电机基础(2.2)- 转子的分类与结构(VR型步进电机和HB型步进电机)
  8. 基于PIC18F458的CAN总线接口设计
  9. 王思聪麾下的HR,被刷屏了!
  10. 第一次在我的P200上自己用rviz展现激光雷达数据