ndarray读写成员变量时,初始数据对后续数据的限制
发布于 作者:苏南大叔 来源:程序如此灵动~

本文依然说的ndarray
的不可能系列,就是代码的执行结果和大家脑补运行的结果,明显不一致的情况。共有两个可能有些烧脑的操作,见本文的两个主要章节内容。

大家好,这里是苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程感悟。本文的主要研究对象,依然是ndarray
。议题是对ndarray
的成员进行设置。测试环境:win10
,python@3.11.0
,numpy@1.24.2
,pandas@1.5.3
。
如何定位到某个成员
可以通过[][]
或者[,]
或者[:][][]
等方式进行定位,参考文章:
ndarray 初始内容决定容量
ndarray
有个dtype
属性,虽然大多数时候都是自动生成的。但是,它可以看出每个成员的字符容量。如果对比到mysql
里面的话,就是varchar(255)
里面的255
。
需求场景描述:三个不同ndarray
,区别是:某个统一的位置的成员值不一致。现在需要将这个问题修复成统一的值。然而,修复失败!
测试代码:
输出:

失败的原因就是,ndarray
的初始值(们)决定了值的容量。
输出:

ndarray 统一设置某值
等号左边是个array
,右边是个string
或者int
的话,这个按理说会报错,对不?然而对于ndarray
来说,并不会报错。而且会把左边array
里面的值全部设置为右边的值。
测试代码:
输出:

题外话
如果本文讨论的两个烧脑内容,把ndarray
换成list
的话,并不存在问题,可以期待后续内容。
结束语
ndarray
了解的越多,那么可能会有更多的深刻认识哦。


