series 通过值返回index_Series(三):Series和ndarray对比学习

  • Post author:
  • Post category:其他


关注 + 星标 ~ 有趣的不像个技术号
每晚九点,我们准时相约
6acc89a0214a0133f6af93239283b839.png
9d048416b1479b81b4c03ef65521777e.png

大家好,我是黄同学
smiley_4.png


1、Series和ndarray都可以通过索引和切片访问元素,切片返回的是原来的视图,索引返回的是原来的拷贝。

视图:相当于就是原来的一个快捷方式,底层共用同一份元素,不管修改哪一个数组中的值,另外一个数组中的值也相当于变化了。

拷贝:相当于将原来的东西复制了一份,因此内存中又会另外开辟一块儿空间,用于存放复制后的这个新Series或新ndarray。

1)对于ndarray来说

① 切片

x = np.arange(1,13)
display(x)

y = x[1:6]
display(y)
display(y[2])

y[2] = 888
display(y)
display(x)

结果如下:

cd2a2f08239223695d78fb52dce1054a.png

② 索引

x = np.arange(1,13)
display(x)

y = x[x>6] # 这里传入的是一个布尔索引
display(y)
display(y[2])

y[2] = 888
display(y)
display(x)

结果如下:

1e785cbfc6aec631bf5f3970cfde5ad2.png

2)对于Series来说

np.random.randint(3,10,5)产生的是随机数,每次运行的结果都是不一样的。

① 切片

x = pd.Series(np.random.randint(3,10,5),index=list("abcde"))
display(x)

y = x[2:]
display(y)
display(y[1])

y[1] = 666
display(y)
display(x)

结果如下:

c95f8ce16df7fdbda53b05ff281ee902.png

② 索引

x = pd.Series(np.random.randint(3,10,5),index=list("abcde"))
display(x)

y = x[x>5]
display(y)
display(y[1])

y[1] = 666
display(y)
display(x)

结果如下:

efc9a323ee29d45d0a5ace2349bcab9d.png


2、Series和ndarray中常用属性比较

da98df3bc9565c940e76c25761794303.png

1)共同属性:图中前7个属性,在Series和ndarray中具有相同的含义;

① 一维数组

0434490b46cf2471f7e01568ebf0a7ed.png

② Series

ab94f802098e343883cf137ecbc9aef2.png

2)Series特有属性:index、values、name;

① index和value属性

b23d42062bd7ee53d7d00e8a54ec2c54.png

② name属性

092d437e91988bbbf667ea8212f48558.png

注意:name属性包含两方面的内容,一个指的是Series的名称,一个指的是Series中索引的名称。

1eb71c4d8429f3a5b152bab38a3ec6ec.png


近期文章,点击图片即可查看

218f7fdb828c3a66a34aca9bf7b61e1b.png
1791493b4cb0c94af3dd404de02c69b3.png
7ff66d74837be22924127e733f8a5f91.png
6f20a19641fa0d2274b300c9cd88b653.png


后台回复关键词「


进群


」,即刻加入读者交流群~

68a26dab990b595675b0130c82ad1ecd.png



numpy蹲,numpy蹲,numpy蹲完,pandas蹲

d3613e93d7088486ff3e0b3c6a566682.png

朱小五