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

yipeiwu_com6年前Python基础

一、对DataFrame的认知

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

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

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

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

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

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'))

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']]

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

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

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

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

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

以上这篇pandas系列之DataFrame 行列数据筛选实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 列表删除所有指定元素的方法

如下所示: a = [1,1,1,2,3,45,1,2,1] a.remove(1) result: [1,1,2,3,45,1,2,1] while 1 in a: a.rem...

python实现搜索文本文件内容脚本

python实现搜索文本文件内容脚本

本文介绍用python实现的搜索本地文本文件内容的小程序。从而学习Python I/O方面的知识。代码如下: import os #根据文件扩展名判断文件类型 def endWit...

python 顺时针打印矩阵的超简洁代码

如下所示: # -*- coding:utf-8 -*- class Solution: # matrix类型为二维列表,需要返回列表 def printMatrix(sel...

举例讲解Python设计模式编程中的访问者与观察者模式

访问者模式 我觉得Visitor模式是在补修改已有程序结构前提下,通过添加额外的访问者完成对代码功能的拓展 为什么这样用?当你的类层次较多,在某层结构中增加新的方法,要是在基类上面添加或...

解决Python运行文件出现out of memory框的问题

解决Python运行文件出现out of memory框的问题

爬虫过程中,发现pycharm变得非常卡,然后出现了这个框: 原本想的是4G内存不够,带不动程序,要加内存条。然后发现图中三个对话框的数字都可以改动,感叹号右边也说please inc...