Python数据分析|pandas 实用方法(3)数据删除及数据索引和切片

删除指定轴上的项

删除 Series 的元素或 DataFrame 的某一行(列),通过对象的 .drop(labels, axis=0)方法。.drop() 返回的是一个新对象,原对象不会被改变。

原始数据

from pandas import Series,DataFrame

import pandas as pd

import numpy as np

ser = Series(list('abcdefg'))

ser

Out[4]:

0 a

1 b

2 c

3 d

4 e

5 f

6 g

dtype: object

data = {'state':['Ohino','Ohino','Ohino','Nevada','Nevada'], 'year':[2000,2001,2002,2001,2002], 'pop':[1.5,1.7,3.6,2.4,2.9]}

df = DataFrame(data)

df

Out[5]:

pop state year

0 1.5 Ohino 2000

1 1.7 Ohino 2001

2 3.6 Ohino 2002

3 2.4 Nevada 2001

4 2.9 Nevada 2002

删除操作

ser.drop([1,3])

Out[9]:

0 a

2 c

4 e

5 f

6 g

dtype: object

df.drop([1,3])

Out[15]:

pop state year

0 1.5 Ohino 2000

2 3.6 Ohino 2002

4 2.9 Nevada 2002

df.drop('year',axis = 1)

Out[16]:

pop state

0 1.5 Ohino

1 1.7 Ohino

2 3.6 Ohino

3 2.4 Nevada

4 2.9 Nevada

pandas 支持通过 obj[::] 的方式进行索引和切片,以及通过布尔型数组进行过滤。

在这里还是要推荐下我自己建的Python开发学习群:304050799,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴

注意:因为 pandas 对象的 index 不限于整数,所以当使用非整数作为切片索引时,它是末端包含的,但是当使用整数作为切片索引时,它是不包含末端的。

Series的索引切片

ser[3]

Out[22]: 'd'

ser1 = Series(range(5),index = ['a','b','c','d','e'])

ser1

Out[19]:

a 0

b 1

c 2

d 3

e 4

dtype: int32

ser[:2]

Out[20]:

0 a

1 b

dtype: object

ser1[:'c']

Out[21]:

a 0

b 1

c 2

dtype: int32

从上面可以看出ser切片时不包含末端,但是ser1切片时包含末端

DataFrame的索引切片

DataFrame 对象的索引方式有两个轴向(双重索引),DataFrame 对象的标准切片语法为:.ix[::,::]。ix 对象可以接受两套切片,分别为行(axis=0)和列(axis=1)的方向。

df.ix[:2,:3]

Out[23]:

pop state year

0 1.5 Ohino 2000

1 1.7 Ohino 2001

2 3.6 Ohino 2002

df.ix[:2,'state']

Out[24]:

0 Ohino

1 Ohino

2 Ohino

Name: state, dtype: object

如果不使用 ix ,直接切的情况就特殊了:

索引时,选取的是列

- 切片时,选取的是行

df['state']

Out[25]:

0 Ohino

1 Ohino

2 Ohino

3 Nevada

4 Nevada

Name: state, dtype: object

df[:3]

Out[26]:

pop state year

0 1.5 Ohino 2000

1 1.7 Ohino 2001

2 3.6 Ohino 2002

有一种特殊情况是:假如有 ser 这样的Series 索引是 index = [2,4,5],当我们使用 ser[2] 索引的时候,到底会被解释为第1个索引还是第3个索引,答案是第1个索引,即当你的数组 index 是整数类型的时候,你使用整数索引,都会被自动解释为基于标签的索引,而不是基于位置的索引。要想消除这种歧义,推荐使用一下两种索引方式:

.loc[label] 这是严格基于标签的索引(包含边界元素)

.iloc[inte] 这是严格基于整数位置的索引(不包含边界元素)

.ix[] 更像是这两种严格方式的智能整合版。

df1 = DataFrame(data,index = [1,3,5,7,9])

df1

Out[20]:

pop state year

1 1.5 Ohino 2000

3 1.7 Ohino 2001

5 3.6 Ohino 2002

7 2.4 Nevada 2001

9 2.9 Nevada 2002

df1.loc[:3]

Out[21]:

pop state year

1 1.5 Ohino 2000

3 1.7 Ohino 2001

df1.iloc[:3]

Out[22]:

pop state year

1 1.5 Ohino 2000

3 1.7 Ohino 2001

5 3.6 Ohino 2002

切片时使用布尔型数组

df['year'] ==2002

Out[37]:

0 False

1 False

2 True

3 False

4 True

Name: year, dtype: bool

df[df['year'] ==2002]

Out[38]:

pop state year

2 3.6 Ohino 2002

4 2.9 Nevada 2002

选出满足列条件的行。

df.ix[2] == 2002

Out[49]:

pop False

state False

year True

Name: 2, dtype: bool

df.ix[:3,df.ix[2]==2002]

Out[50]:

year

0 2000

1 2001

2 2002

3 2001

选出满足行条件的列。

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

推荐阅读更多精彩内容