pandas系列之DataFrame 行列数据筛选实例


Posted in Python onApril 12, 2018

一、对DataFrame的认知

DataFrame的本质是行(index)列(column)索引+多列数据。

为了简化理解,我们不妨换个思路…

现实中,为了简化对一件事物的描述,我们会选择几个特征。

例如,从(性别、身高、学历、职业、爱好..)等角度去刻画一个人,这些“角度”即为“特征”。

pandas系列之DataFrame 行列数据筛选实例

其中,不同的行表示不同的记录;列代表特征,不同记录因各个特征之间的差异而不同。

DataFrame默认索引是序号(0,1,2…),可以理解成位置索引。一般我们用id标识不同记录,不会改变index。但为了理解不同特征(列)含义,我们往往会重新指定column。

一些简易但不算严谨的理解是:

行列

行 ? index ? 记录 (一般沿用默认索引)

列 ? column ? 特征 (自定义索引)

索引

默认索引 ? 序号 ? 位置 ? 方便索引但理解不易

自定义索引 ? 特征名称 ? 属性 ? 便于理解

二、对dataframe进行行列数据筛选

import pandas as pd,numpy as np
from pandas import DataFrame
df = DataFrame(np.arange(20).reshape((4,5)),column = list('abcde'))

pandas系列之DataFrame 行列数据筛选实例

1.df[]&df. 选取列数据

df.a 
df[[‘a','b']]

2.df.loc[[index],[colunm]] 通过标签选择数据

不对行进行筛选时,[index]处填 : (不能为空),即df.loc[:,'a']表示选取a列全部数据。

df.loc[0,'a'] 
df.loc[0:1,[‘a','b']] 
df.loc[[0,2],[‘a','c']]

pandas系列之DataFrame 行列数据筛选实例

3.df.iloc[[index],[colunm]] 通过位置选择数据

不对行进行筛选时,同df.loc[],即[index]处不能为空。

df.iloc[0,0] 
df.iloc[0:1,1:3] 
df.iloc[[0,2],[1,3]]

pandas系列之DataFrame 行列数据筛选实例

4.df.ix[[index],[column]] 通过标签or位置选择数据

df.ix[]混合了标签和位置选择。需要注意的是,[index]和[column]的框内需要指定同一类的选择。
df.ix[[0:1],[‘a',3]]报错

以上这篇pandas系列之DataFrame 行列数据筛选实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python基础教程之面向对象的一些概念
Aug 29 Python
Linux 发邮件磁盘空间监控(python)
Apr 23 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
Jun 09 Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 Python
python使用matplotlib绘制热图
Nov 07 Python
python3 tcp的粘包现象和解决办法解析
Dec 09 Python
Selenium常见异常解析及解决方案示范
Apr 10 Python
Django通过json格式收集主机信息
May 29 Python
keras CNN卷积核可视化,热度图教程
Jun 22 Python
TensorFlow-gpu和opencv安装详细教程
Jun 30 Python
Python生成九宫格图片的示例代码
Apr 14 Python
如何将numpy二维数组中的np.nan值替换为指定的值
May 14 Python
python:pandas合并csv文件的方法(图书数据集成)
Apr 12 #Python
用pandas按列合并两个文件的实例
Apr 12 #Python
Python中多个数组行合并及列合并的方法总结
Apr 12 #Python
Python实现的凯撒密码算法示例
Apr 12 #Python
python merge、concat合并数据集的实例讲解
Apr 12 #Python
Python实现的维尼吉亚密码算法示例
Apr 12 #Python
python pandas dataframe 按列或者按行合并的方法
Apr 12 #Python
You might like
php异常处理技术,顶级异常处理器
2012/06/13 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
jquery模拟多级复选框效果的简单实例
2016/06/08 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
2016/08/02 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
Vuejs监听vuex中值的变化的方法示例
2018/12/02 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
JS桶排序的简单理解与实现方法示例
2019/11/25 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
python中print()函数的“,”与java中System.out.print()函数中的“+”功能详解
2017/11/24 Python
python装饰器深入学习
2018/04/06 Python
Python解析、提取url关键字的实例详解
2018/12/17 Python
python实现贪吃蛇游戏
2020/03/21 Python
基于nexus3配置Python仓库过程详解
2020/06/15 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
深入了解NumPy 高级索引
2020/07/24 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
Html5导航栏吸顶方案原理与对比实现
2020/06/10 HTML / CSS
集体生日活动方案
2014/08/18 职场文书
党员创先争优心得体会
2014/09/11 职场文书
房产公证书样本
2015/01/23 职场文书
重阳节慰问信
2015/02/15 职场文书
教师聘用意向书
2015/05/11 职场文书
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
浅谈redis缓存在项目中的使用
2021/05/20 Redis
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript
pandas进行数据输入和输出的方法详解
2022/03/23 Python
tomcat下部署jenkins的方法
2022/05/06 Servers