pandas DataFrame索引行列的实现
技术  /  管理员 发布于 7年前   163
行索引
索引行有三种方法,分别是 loc iloc ix
import pandas as pdimport numpy as npindex = ["a", "b", "c", "d"]data = np.random.randint(10, size=(4, 3))df = pd.DataFrame(data, index=index)""" 0 1 2a 9 7 1b 0 0 7c 2 6 5d 8 2 5"""
loc
loc通过行索引名字来确定行的
单行索引, 返回Series对象
df.loc["a"]"""0 91 72 1Name: a, dtype: int64"""df.loc["b"]"""0 01 02 7Name: b, dtype: int64"""
多行索引, 返回DataFrame对象
df.loc[["a", "c"]]""" 0 1 2a 9 7 1c 2 6 5"""
iloc
通过行索引序号来确定行的
单行索引, 返回Series对象
df.iloc[0]"""0 91 72 1Name: a, dtype: int64"""df.iloc[1]"""0 01 02 7Name: b, dtype: int64"""
多行索引, 返回DataFrame对象
df.iloc[[0, 2]]""" 0 1 2a 9 7 1c 2 6 5"""
ix(不建议使用)
通过行索引名字或序号来确定行的, 如果行索引 index 的类型为整型时, 使用 ix 方法索引时为按行索引名字进行索引, 如行索引名不存在则会报错
index = [2, 3, 4, 5]df = pd.DataFrame(data, index=index)""" 0 1 22 9 7 13 0 0 74 2 6 55 8 2 5"""df.ix[2]"""0 91 72 1Name: 2, dtype: int64"""# 提示信息""".ix is deprecated. Please use.loc for label based indexing or.iloc for positional indexing"""# 如果 index 为整数, 则不能按行索引号进行索引df.ix[0]"""...KeyError: 0"""
列索引
索引行有两种方法,分别是 . []
import pandas as pdimport numpy as npcolumns = ["i", "ii", "iii"]data = np.random.randint(10, size=(4, 3))df = pd.DataFrame(data, columns=columns)""" i ii iii 0 4 5 9 1 0 3 4 2 7 9 1 3 8 2 3 """
通过 . 属性直接获取指定行, 返回Series对象
df.i"""0 41 02 73 8Name: i, dtype: int64"""
[]
单列索引, 返回DataFrame对象
df[["i"]]""" i0 41 02 73 8"""
多列索引, 返回DataFrame对象
df[["i", "ii"]]""" i ii0 4 51 0 32 7 93 8 2"""
同时索引行及列
通过指定索引名或切片方式进行索引
index = ["a", "f", "c", "h"]columns = ["i", "ii", "iii"]df = pd.DataFrame(data, index=index, columns=columns)""" i ii iiia 4 5 9f 0 3 4c 7 9 1h 8 2 3"""
loc
通过指定行及列索引名进行索引, 返回DataFrame对象
df.loc[["a", "f"], ["ii", "iii"]]""" ii iiia 5 9f 3 4"""
通过指定行及列索引名范围进行索引(包含边值), 返回DataFrame对象
df.loc["a":"c", "ii":"iii"]""" ii iiia 5 9f 3 4c 9 1"""
iloc
通过指定行及列索引号进行索引, 返回DataFrame对象
df.iloc[[0, 1], [1, 2]]""" ii iiia 5 9f 3 4"""
通过指定行及列索引号范围进行切片索引(左闭右开), 返回DataFrame对象
df.iloc[:3, 1:3]""" ii iiia 5 9f 3 4c 9 1"""
ix(不建议使用)
通过指定行及列索引号范围或名字范围进行切片, 返回DataFrame对象
df.ix["a":"c", "i":"iii"]df.ix["a":"c", 1:3]df.ix[:3, 1:3]
tips: 只有使用 iloc 或 ix 按索引号进行切片索引时才为左闭右开, 其余全闭
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号