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进行一个初步的了解,明天继续加油呀~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342