吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1870|回复: 5
收起左侧

[Python 转载] 【笔记】python数据分析——numpy数组索引及切片

  [复制链接]
qianshang666 发表于 2021-3-9 00:51

往期数据分析笔记

【笔记】python数据分析——numpy初识1
【笔记】python数据分析——numpy初识2
【笔记】python数据分析——变换与编程中的轴
【笔记】python数据分析——numpy随机数函数

数组的索引与切片

  • 一维数组索引与python列表相同
    import numpy as np
    arr1 = np.arange(12)
    print(arr1)
    print(arr1[0])

    运行结果:
    [ 0  1  2  3  4  5  6  7  8  9 10 11]
    0

  • 多维数组索引取出质的值,二维数组有两个质,若想取出二维数组的单个元素,先取出质的元素,再继续按照一维数组的方式取单个
    arr1 = np.arange(12).reshape(3,4)
    print(arr1)
    print(arr1[1][3])

    运行结果:
    [[ 0  1  2  3]
    [ 4  5  6  7]
    [ 8  9 10 11]]
    7
    多维数组的索引都是从内向外的,[1]的意思就是第二行,然后[1][3]就是第二行的第四个数

  • 索引和切片都是作用在原数组上,原数组被改变
    arr1[1][1] = 111
    print(arr1)

    运行结果:
    [[  0   1   2   3]
    [  4 111   6   7]
    [  8   9  10  11]]

  • 用copy函数就可以复制一个新的数组,如果不想全部复制,可以按照切片的方式取一部分复制
    arr2 = arr1.copy()
    print(arr2)
    arr3 = arr1[1].copy()
    print(arr3)

    运行结果:
    [[  0   1   2   3]
    [  4 111   6   7]
    [  8   9  10  11]]
    [  4 111   6   7]

花式索引

fruits=np.array(['apple','banana','apple','pear'])
print(fruits)

arr1=np.random.randint(-1,1,(4,4))  #生成-1到1四行四列的数组
print(arr1)

运行结果:
['apple' 'banana' 'apple' 'pear']
[[ 0  0  0 -1]
[ 0  0  0  0]
[-1  0  0  0]
[-1 -1  0 -1]]
我们这样创建之后,其实他们两个数组之间就有了一种对应关系,这个是一种隐形关系
apple对应[ 0  0  0 -1]
banana对应[ 0  0  0  0]
apple对应[-1  0  0  0]
pear对应[-1 -1  0 -1]

接下来我们试着取出apple对应的数组的值

print(arr1[fruits=='apple'])

运行结果:
[[ 0  0  0 -1]
[-1  0  0  0]]

当然,还有一种写法:

print(arr1[[0,2]])

运行结果:
[[ 0  0  0 -1]
[-1  0  0  0]]

今日鸡汤

每一条路都是荒径,每一个人都是过客,每一片记忆都是曾经。终于明白,有些路,只能一个人走。

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
zsr849408332 + 1 + 1 我很赞同!
woyucheng + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

bug132294 发表于 2021-3-9 08:50
正在学习,果断收藏。
 楼主| qianshang666 发表于 2021-3-9 08:54
easthq 发表于 2021-3-9 10:07
 楼主| qianshang666 发表于 2021-3-9 10:59
easthq 发表于 2021-3-9 10:07
切片原来是从一维到多维的意思。。。

是我哪部分有问题吗,我也只是自学,按照我自己理解写的笔记,有问题也希望大佬能够指出来
easthq 发表于 2021-3-9 15:29
qianshang666 发表于 2021-3-9 10:59
是我哪部分有问题吗,我也只是自学,按照我自己理解写的笔记,有问题也希望大佬能够指出来

没有没有,最近看了一个程序切片的论文脑子糊涂了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 03:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表