Python学习笔记 - pandas读取与查看csv文件,loc和iloc的用法与区别

与其他编程语言一样,Python具有大量其他模块和库,这些模块或库支持该语言的基本框架和功能。

我们将库视为函数的集合,无需编写自己的算法即可访问这些函数以完成某些编程任务。

比如以下这些模块:

Numpy is a library for working with arrays of data.用于处理数据数组的库。

Pandas provide high-performance, easy-to-use data structures and data analysis tools. 提供了高性能,易于使用的数据结构和数据分析工具。

Scipy is a library of techniques for numerical and scientific computing.是用于数值和科学计算的技术库。

Matplotlib is a library for making graphs. 是用于制作图形的库。

Seaborn is a higher-level interface to Matplotlib that can be used to simplify many graphing tasks.是Matplotlib的高级接口,可用于简化许多图形绘制任务。

Statsmodels is a library that implements many statistical techniques.是一个实现许多统计技术的库。

现在我们主要来看看pandas这个库的使用方法

pandas的数据结构有三种 分别为 series,dataframe和panel,对应一维,二维,三维数据。 其中dataframe最为常用。

1. 录入文件

df = pd.read_csv("文件名")

2. 查看文件

我们可以通过调用head()函数来查看前五行数据:

df.head()

如果我要查看全部数据,则直接输入df

栗子(come from coursera):

如果我们要看表头,那就输入:

df.columns

3.pandas索引

记得之前说过的切片slice吗,dataframe的索引中,有三个函数可以用于选择数据

loc(): 使用index来选择数据 (based indexing)

iloc():使用整数索引来选择数据 (positional indexing)

ix(): iloc()和loc()的混合 (已废弃,不推荐使用)


首先介绍loc(),

语法:

loc [      :      ,       ]

一般逗号左边是用来索引行,逗号的右边用来索引列

一般逗号的左边都是数字,右边则为“列名”,也可以是bool

索引单列语法:        

df.loc[:,"列名"]

这样就会输出所有的这一列的数据

索引多列语法:

df.loc[:,[ "列名1", "列名2", "列名3" ]]

这样就会输出多行数据

索引限定行语法:

数字也可以放入loc中当做索引,但是这时数字指的是标签而不是位置

比如df.loc[数字:数字]所输出的是编程排序里0-9的,也就是ID从1-10的行

df.loc[:数字,[ "列名1", "列名2", "列名3" ]]

df.loc[数字:数字,[ "列名1", "列名2", "列名3" ]]

另外,在我们进行索引的时候,就像python中的切片一样,如果是针对行的索引,那么后边的:, 是可以省略不写的。

还有一种玩法,就是利用loc函数,根据某个数据来提取数据所在的行

举个例子:


然后,我们来看看.iloc, .iloc 是基于integer 和bool的切片,不接受string。

基础语法:

iloc [     :      ,      :  ]

跟loc一样,iloc逗号左边是用来索引行,逗号的右边用来索引列

一般逗号的左右都是数字

与.loc不同的是,.iloc里面的数字指的是位置,所以遵从我们切片器的规则,包头不包尾。( [1:5] 的意思就是,从第二个到第四个,因为包1不包5)

用法:

df.iloc[:4] 代表索引前4行 (编程里的排序0,1,2,3,ID为1,2,3,4)

df.iloc[4] 代表索引第5行  (编程里的排序0,1,2,3,4的4代表ID5)

df.iloc[1:5, 2:4] 代表索引2-5行,3-4列(编程里排序的1234,也就是ID2345; 编程里排序的23,也就是第三第四列)


我们还可以通过输入df.dtypes 来看看文档的数据类型

也可以通过df.列名.unique 来看看这一列存在的unique值

另外,df.groupby(['列名‘]).size()可以帮我们查看列里面的variable出现的个数

今天先到这儿,只是对pandas进行一个初步的了解,明天继续加油呀~

你可能感兴趣的:(Python学习笔记 - pandas读取与查看csv文件,loc和iloc的用法与区别)