pandas DataFrame索引行列的实现 - 网站

pandas DataFrame索引行列的实现

分类:python · 发布时间:2021-10-11 04:33 · 阅读:3614

这篇文章主要介绍了pandas DataFrame索引行列的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  • python版本: 3.6
  • pandas版本: 0.23.4

行索引

索引行有三种方法,分别是 loc iloc ix

 import pandas as pd import numpy as np index = ["a", "b", "c", "d"] data = np.random.randint(10, size=(4, 3)) df = pd.DataFrame(data, index=index) """ 0 1 2 a 9 7 1 b 0 0 7 c 2 6 5 d 8 2 5 """ 

loc

loc通过行索引名字来确定行的

单行索引, 返回Series对象

 df.loc["a"] """ 0  9 1  7 2  1 Name: a, dtype: int64 """ df.loc["b"] """ 0  0 1  0 2  7 Name: b, dtype: int64 """ 

多行索引, 返回DataFrame对象

 df.loc[["a", "c"]] """ 0 1 2 a 9 7 1 c 2 6 5 """

iloc

通过行索引序号来确定行的

单行索引, 返回Series对象

 df.iloc[0] """ 0  9 1  7 2  1 Name: a, dtype: int64 """ df.iloc[1] """ 0  0 1  0 2  7 Name: b, dtype: int64 """ 

多行索引, 返回DataFrame对象

 df.iloc[[0, 2]] """ 0 1 2 a 9 7 1 c 2 6 5 """ 

ix(不建议使用)

通过行索引名字或序号来确定行的, 如果行索引 index 的类型为整型时, 使用 ix 方法索引时为按行索引名字进行索引, 如行索引名不存在则会报错

 index = [2, 3, 4, 5] df = pd.DataFrame(data, index=index) """ 0 1 2 2 9 7 1 3 0 0 7 4 2 6 5 5 8 2 5 """ df.ix[2] """ 0  9 1  7 2  1 Name: 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 pd import numpy as np columns = ["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  4 1  0 2  7 3  8 Name: i, dtype: int64 """ 

 []

单列索引, 返回DataFrame对象

 df[["i"]] """ i 0 4 1 0 2 7 3 8 """ 

多列索引, 返回DataFrame对象

 df[["i", "ii"]] """ i ii 0 4  5 1 0  3 2 7  9 3 8  2 """ 

同时索引行及列

通过指定索引名或切片方式进行索引

 index = ["a", "f", "c", "h"] columns = ["i", "ii", "iii"] df = pd.DataFrame(data, index=index, columns=columns) """ i ii iii a 4  5  9 f 0  3  4 c 7  9  1 h 8  2  3 """ 

loc

通过指定行及列索引名进行索引, 返回DataFrame对象

 df.loc[["a", "f"], ["ii", "iii"]] """ ii iii a  5  9 f  3  4 """ 

通过指定行及列索引名范围进行索引(包含边值), 返回DataFrame对象

 df.loc["a":"c", "ii":"iii"] """ ii iii a  5  9 f  3  4 c  9  1 """ 

iloc

通过指定行及列索引号进行索引, 返回DataFrame对象

 df.iloc[[0, 1], [1, 2]] """ ii iii a  5  9 f  3  4 """

通过指定行及列索引号范围进行切片索引(左闭右开), 返回DataFrame对象

 df.iloc[:3, 1:3] """ ii iii a  5  9 f  3  4 c  9  1 """ 

ix(不建议使用)

通过指定行及列索引号范围或名字范围进行切片, 返回DataFrame对象

 df.ix["a":"c", "i":"iii"] df.ix["a":"c", 1:3] df.ix[:3, 1:3]

tips: 只有使用 iloc 或 ix 按索引号进行切片索引时才为左闭右开, 其余全闭

标签:
pandas DataFrame 索引

相关文章

Python轻松管理与操作文件的技巧分享

在日常开发中,我们经常会遇到需要对文件进行操作的场景,如读写文件、文件夹操作等。本文将为大家介绍一些 Python 中处理文件的实用技巧,让你的工作更高效

pytorch实现梯度下降和反向传播图文详细讲解

这篇文章主要介绍了pytorch实现梯度下降和反向传播,反向传播的目的是计算成本函数C对网络中任意w或b的偏导数。一旦我们有了这些偏导数,我们将通过一些常数α的乘积和该数量相对于成本函数的偏导数来更新网络中的权重和偏差

深入理解pytorch库的dockerfile

这篇文章主要介绍了pytorch库的dockerfile,主要包括dockerfile命令,使用指令的注意点及存在的一些问题,本文给大家介绍的非常详细,需要的朋友可以参考下

Selenium多窗口切换解决方案

本文主要介绍了Selenium多窗口切换解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Python自动化办公之定时发送邮件的实现

python中的schedule模块可以使我们方便简单的使用定时任务,即在特定的时间自动的执行一些任务的功能,本文将用这一模块实现邮件自动发送,需要的可以参考一下

返回分类 返回首页