NumPy中np.array和np.asarray的异同点

2024-05-07 11:38
文章标签 异同 np array numpy asarray

本文主要是介绍NumPy中np.array和np.asarray的异同点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 相同点:两者都可以根据传入的结构数据(如列表)创建一个ndarray数组对象。

  • 不同点:当数据源是ndarray时,array仍然会copy出一个副本,占用新的内存,即创建一个新的对象;但asarray不会,与原数据共享同一内存。

  • np.array() 函数原型:

    def array(a, dtype=None, order=None):return array(a, dtype, copy=True, order=order)
    

    说明:Create an array. array() 方法创建一个新的对象。

  • np.asarray() 函数原型:

    def asarray(a, dtype=None, order=None):return array(a, dtype, copy=False, order=order)
    

    说明:Convert the input to an array。asarray() 方法将原数据转换为新的ndarray 对象。

Example

# 原数据为列表类型
score = [70, 75, 78]
arr1 = np.array(score)
arr2 = np.asarray(score)
score[1] = 100    # 改变原数据
print("score: ", score)
print("arr1: ", arr1)
print("arr2: ", arr2)

输出结果:
score: [70, 100, 78]
arr1: [70 75 78]
arr2: [70 75 78]

原数据为列表类型时,改变原数据,array 和asarray 方法返回的对象都没有发生变化。

# 原数据为ndarray 数组
score = np.array([70, 75, 78])
arr1 = np.array(score)
arr2 = np.asarray(score)
score[1] = 100   # 改变原数据
print("score: ", score)
print("arr1: ", arr1)
print("arr2: ", arr2)

输出结果:
score: [ 70 100 78]
arr1: [70 75 78]
arr2: [ 70 100 78]

原数据为ndarray 数组时,改变原数据,array 方法返回的对象没有变化,而asarray 方法返回的对象跟着改变。

这篇关于NumPy中np.array和np.asarray的异同点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967250

相关文章

python科学计算:NumPy 线性代数与矩阵操作

1 NumPy 中的矩阵与数组 在 NumPy 中,矩阵实际上是一种特殊的二维数组,因此几乎所有数组的操作都可以应用到矩阵上。不过,矩阵运算与一般的数组运算存在一定的区别,尤其是在点积、乘法等操作中。 1.1 创建矩阵 矩阵可以通过 NumPy 的 array() 函数创建。矩阵的形状可以通过 shape 属性来访问。 import numpy as np# 创建一个 2x3 矩阵mat

探索Python的数学魔法:Numpy库的神秘力量

文章目录 探索Python的数学魔法:Numpy库的神秘力量背景:为什么选择Numpy?Numpy是什么?如何安装Numpy?五个简单的库函数使用方法场景应用常见Bug及解决方案总结 探索Python的数学魔法:Numpy库的神秘力量 背景:为什么选择Numpy? 在Python的世界中,数据处理和科学计算是不可或缺的一部分。但原生Python在处理大规模数据时可能会显

【uva】11536-Smallest Sub-Array(区间移动问题)

一个区间移动的问题,1A了,感觉没什么好说的。。 13975926 11536 Smallest Sub-Array Accepted C++ 0.809 2014-08-01 11:00:20 #include<cstdio>#include<cstring>#include<iostream>using namespace std;#define INF 1 << 30

leetCode#448. Find All Numbers Disappeared in an Array

Description Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once. Find all the elements of [1, n] inclusive that do not appear in this

Numpy random.random()函数补充

np.random.random() np.random.random()的作用是生成指定形状的均匀分布的值为[0,1)的随机数 参数为size,也就是用于指定的形状大小 import numpy as npprint(np.random.random(size=(2, 2)))# [[0.19671797 0.85492315]# [0.99609539 0.66437246]]

解决RuntimeError: Numpy is not available

运行项目时,遇到RuntimeError: Numpy is not available 这是因为Numpy 版本太高,将现有Numpy卸载 pip uninstall numpy 安装numpy=1.26.4,解决此问题 pip install numpy=1.26.4 -i https://pypi.tuna.tsinghua.edu.cn/simple

做一个问卷考试,标准答案对比用户填写的答案,array_diff 进行差集比对

if( empty(array_diff($answer_mark, $answer)) && empty(array_diff( $answer,$answer_mark))){//用户答题正确}else{// 答题错误} 做一个问卷考试,标准答案对比用户填写的答案,array_diff  进行差集比对   如用户填写的答案变量为answer   标准答案为answer_mark

6.科学计算模块Numpy(3)对ndarray数组的常用操作

引言 众所周知,numpy能作为python中最受欢迎的数据处理模块,脱离不了它最核心的部件——ndarray数组。那么,我们今天就来了解一下numpy中对ndarray的常用操作。 通过阅读本篇博客你可以: 1.掌握ndarray数组的切片和copy 2.学会如何改变ndarray的数组维度 3.掌握数组的拼接 一、ndarray数组的切片和copy 1.ndarray数组的切片

bash脚本2_对比多个不同版本同名文件的异同

bash脚本2_对比多个不同版本同名文件的异同 #!/bin/bashFOLDER_A="$1"FOLDER_B="$2"IGNORE_STRING="loc_timestamp"subfolders=$(ls -d "$FOLDER_A"/*/)for subfolderA in $subfolders; dosubfolder_name=$(basename "$subfol

Mybatis与Hibernate的异同

以前没怎么用过mybatis,只知道与hibernate一样是个orm数据库框架。随着使用熟练度的增加,发现它与hibernate区别是非常大的,结合至今为止的经验,总结出以下几点: 1. hibernate是全自动,而mybatis是半自动。 hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis