python的pandas行数和索引_Python入门:Pandas&Numpy (一) 数据切片与索引

本文将以IMDB电影评分数据集为例,展示Python中常用的数据切片和索引的操作。

包括:l 数据框切片

l Loc方法

l Iloc方法

首先导入Pandas和Numpy,

import pandas as pd;

import numpy as np;

导入使用的数据集:IMBD电影评分数据集,并对数据进行基础的了解:

path='D:\movies_csv.csv'

movies=pd.read_csv(path)

movies.head(5)数据形态

movies.shape

IMDB数据集包含了979条电影的信息,包括电影名称、得分、内容分级、影片类型、时长和演员列表六项信息。

准备好数据集后,开始正文

数据框筛选与切片

筛选单列时,将需要提取的列名写在数据集后的方括号里,并用单引号或双引号括起来即可

movies['title']

如何需要提取多列,只需要将需要提取的多列名称用方括号写在一个列表里即可

movies[['title','content_rating']]

在对行进行提取时,使用索引号进行提取:

movies[1:10] #切出第2条到第9条的9条记录,索引号从0开始,不包含尾部

mydata[:] #默认提取所有的数据记录

数据框也可以同时对行和列进行切片,将行列分别写在方括号内即可

movies[1:10][['title','genre']]

在实际操作中,我们也有按照条件筛选数据的需求:

movies[(movies['content_rating']=="R")]#筛选所有分级为R的电影

movies[(movies['content_rating']=="R")&(movies['star_rating']>=8)][['title','duration','actors_list']]

#筛选所有分级为R,并且评分高于8分的电影的名称,时长和演员名单

标签索引

除去数据框简单切片选取之外,在Python中能够完成基于索引的数据筛选。

movies.loc[2] #按索引提取单行的数值

movies.loc[0:3] #按索引提取区域行数值

movies.loc[1:5,["title","duration"]] #行列同时筛选

同样,我们也有条件筛选的需求,语法和数据框选取基本一致。

movies.loc[(movies['content_rating']=="R")]#筛选所有分级为R的电影

movies.loc[(movies['content_rating']=="R")&(movies['star_rating']>=8)][['title','duration','actors_list']]

#筛选所有分级为R,并且评分高于8分的电影的名称,时长和演员名单

位置索引

位置索引使用的iloc,与loc不同之处在于loc使用的是数据的标签索引,即数据的编号,而iloc使用的是数据的位置。如果将原数据随机打乱,在打乱前和打乱后使用loc选取出的数据是不会变化的,因为每个sample的编号并不会随位置而变化,但是使用iloc选取的数据会发生变化,因为iloc是基于位置选取数据。

iloc的语法与loc基本一样,在这里不再赘述。

以上就是在数据分析中常见的数据选取与切片的方法,希望能帮到新入门的同学~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值