导航:首页 > 编程语言 > python改变数组的值

python改变数组的值

发布时间:2023-06-27 05:01:29

python基础之numpy.reshape详解

这个方法是在不改变数据内容的情况下,改变一个数组的格式,参数及返回值,官网介绍:

a:数组--需要处理的数据

newshape:新的格式--整数或整数数组,如(2,3)表示2行3列,新的形状应该与原来的形状兼容,即行数和列数相乘后等于a中元素的数量

order:

 首先做出翻译: order  : 可选范围为{‘C’, ‘F’, ‘A’}。使用索引顺序读取a的元素,并按照索引顺序将元素放到变换后的的数组中。如果不进行order参数的设置,默认参数为C。

(1)“C”指的是用类C写的读/索引顺序的元素,最后一个维度变化最快,第一个维度变化最慢。以二维数组为例,简单来讲就是横着读,横着写,优先读/写一行。

(2)“F”是指用FORTRAN类索引顺序读/写元素,最后一个维度变化最慢,第一个维度变化最快。竖着读,竖着写,优先读/写一列。注意,“C”和“F”选项不考虑底层数组的内存布局,只引用索引的顺序。

(3)“A”选项所生成的数组的效果与原数组a的数据存储方式有关,如果数据是按照FORTRAN存储的话,它的生成效果与”F“相同,否则与“C”相同。这里可能听起来有点模糊,下面会给出示例。

二、示例解释

1、首先随机生成一个4行3列的数组

2、使用reshape,这里有两种使用方法,可以使用np.reshape(r,(-1,1),order='F'),也可以使用r1=r.reshape((-1,1),order='F'),这里我选择使用第二种方法。通过示例可以观察不同的order参数效果。

通过例子可以看出来,F是优先对列信息进行操作,而C是优先行信息操作。如果未对r的格式进行设置,那么我们rashape的时候以“A”的顺序进行order的话,它的效果和“C”相同。

3、我们将r的存储方式进行修改,修改为类Fortan的方式进行存储。并做与第2步类似的操作。

基础操作样例:

1.引入numpy,名称为np 

2.接下来创建一个数组a,可以看到这是一个一维的数组 

3.使用reshape()方法来更改数组的形状,可以看到看数组d成为了一个二维数组

4.通过reshape生成的新数组和原始数组公用一个内存,也就是说,假如更改一个数组的元素,另一个数组也将发生改变 

5.同理还可以得到一个三维数组 

reshape(-1,1)什么意思:

大意是说,数组新的shape属性应该要与原来的配套,如果等于-1的话,那么Numpy会根据剩下的维度计算出数组的另外一个shape属性值。

举例:

同理,只给定行数,newshape等于-1,Numpy也可以自动计算出新数组的列数。

② python 原来需要输入值给数组怎么改成直接给数组赋值啊,就是弄成像图二那样的

1.首先,你要弄懂别人在干嘛

③ Python中怎样对数组中的值进行选择性,调换位置的输出。例如:a,b,c,d,e,f.输出成为a,c,f,e.

#调换谈拆位置的输出
stin = ['A','B','C','D','E','F','G','乎侍键H','I','X']

inp = input('enter the sort:')

def change(pa):
file = open("D:\dir\a.txt","a")
pas = pa.split(',');
print(pas)
for i in pas:
print(stin[int(i)],end=" "岁巧)
file.write(stin[int(i)]+" ")
file.close()

change(inp)

在D盘创建D:\dir\a.txt 查看输出

刚刚玩这个东西,期待高手指点

④ python用for循环怎么给给数组赋值

思路:先定义一个数组(列表类型)出来,然后直接循环即可(需要用到列表的append函数),举例代码如下:
result_t = []
for i in range(1,5):
t = i
result_t.append(t)

⑤ Python中数组的基本操作

先定义一个数组列表:

列表合并也可以用+,但是用+的话,会产生一个新的列表(当然也可以赋值给任何的变量),而extend则只是修改了原来的对象

只读数组,只能查看不能编辑,列表的切片操作同样适于元组。

表达方式:tuple=("元素1","元素2","元素3"),中间同样用,隔开

特殊的元组:tupleZero=()空元组

                        tupleOne=("元素1",)  只有一个元素,后面要跟一个,(注意好的习惯的养成)

作用:1.对于一些不想被修改的元素,可以放在元组里面

        2.元组可以在映射(和集合的成员)中当作键使用,而列表不行

        3.元组作为内建函数和方法的返回值

enumerate(列表对象,返回标签起始值(默认为零))

上面的例子可以看出,返回的i是一个元组,如果不想要元组的话,可以用两个参数接收:

⑥ Python数组修改问题

a=[[0 ,0 ,40 ,60 ,255 ,255 ,255 ,255 ,255 ,255],

[1 ,0 ,48 ,68 ,255 ,255 ,255 ,255 ,255 ,255],

[2 ,0 ,38 ,66 ,255 ,255 ,255 ,255 ,255 ,255],

[3 ,0 ,39 ,80 ,255 ,255 ,255 ,255 ,255 ,255],

[4 ,0 ,39 ,67 ,255 ,255 ,255 ,255 ,255 ,255],

[15 ,0 ,20 ,255 ,255 ,255 ,255 ,255 ,255 ,255]]

a = [[s for s in x if s != 255] for x in a]

⑦ python 对一个数组的处理,如题:

defsplit(array):
group=[]
item=[]
forxinarray:
ifx!=0:
item.append(x)
eliflen(item)>0:
group.append(item)
item=[]
iflen(item)>0:
group.append(item)
returngroup

array=[0,2,0,0,34,4,3,2,0,0,0,0,4,2,3,0,0]
split(array)

⑧ python中怎么对一个数组中不同值进行不同操作

python中的list和array的不同之处 list是列表,可以通过索引查找数值,但是不能对整个列表进行数值运算

阅读全文

与python改变数组的值相关的资料

热点内容
小孩子命令 浏览:706
贷款申请系统源码 浏览:266
windowsxp文件夹打开后怎么返回 浏览:662
怎么把pdf变成图片 浏览:795
17年程序员事件 浏览:494
iishttp压缩 浏览:29
公司文件加密后拷走能打开吗 浏览:186
headfirstjava中文 浏览:894
腾讯云服务器怎么放在电脑桌面 浏览:8
批量生成图片的app哪个好 浏览:496
小米10电池校准命令 浏览:96
移动商城系统app如何开发 浏览:692
用安卓手机如何发高清短视频 浏览:339
怎样运行java程序运行 浏览:553
海南根服务器镜像云服务器 浏览:536
weka聚类算法 浏览:452
视频服务器修复是什么意思 浏览:498
python跨平台开发 浏览:916
音遇app全民k歌从哪里下载 浏览:646
云盒子能装服务器吗 浏览:796