avatar

刘刚刚的blog

采菊东篱下,悠然见南山🦥

  • 首页
  • 大模型应用
  • 常用软件/工具
  • Halo
  • 关于
Home 01-numpy的简介及array的创建
文章

01-numpy的简介及array的创建

Posted 2020-12-17 Updated 2024-12- 17
By Administrator
22~29 min read

numpy是 Python 语言的一个c扩展程序库,支持大量的维度数组与矩阵运算,对数组运算提供大量的数学函数库,对数据的处理有极高的效率,也经常被作为其他数据处理模块的底层模块。


numpy相关博文的开发环境:

  • python 3.6

  • jupyter notebooks

安装

# 安装命令
pip install numpy

# 安装完成后,在jupyter中输入以下命令进行测试
import numpy as np
np.__version__

成功打印出版本号则代表安装成功,接下来就可以正式进入numpy的学习了

image-20201216122148041

tip:

如果运行时,已经使用pip安装但是仍然报以下错误:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-8c27a98e4621> in <module>
----> 1 import numpy as np
   2 np.__version__

ModuleNotFoundError: No module named 'numpy'

则可以使用以下代码判断python包的引入位置,查看jupyter中使用的python环境位置:

import sys
sys.path

array对象

array对象是numpy的核心对象,可以是一维也可以是多维的,与pyhton的list比较类似,但拥有更好的性能,通常比python执行速度快1-3个数量级,也拥有更多的数据处理函数,不过numpy中array内的元素必须是同一种数据类型。

array对象的创建

array的创建主要包括两种方式:

  • 使用python的list进行创建

  • 使用array提供的函数进行创建,创建的函数主要有:

    arange、ones、zero、empty、full、randn ,除了randn外其他函数均提供有相应的_like方法

1. 使用python的list进行创建

import numpy as np

x = np.array([1,2,3,4,5,6,7,8])
y = np.array([
    [1,2,3,4,5,6,7,8],
    [1,2,3,4,5,6,7,8]
])

打印结果:

image-20201216232247060

2. 使用numpy提供的函数进行创建

  • arange创建数字序列

    # arange([start,] stop[, step,], dtype=None)
    np.arange(10)
    np.arange(2,10)
    np.arange(2, 10, 2)

    image-20201216234105748

  • ones创建值全是1的数组

    # np.ones(shape, dtype=None, order='C')
    
    np.ones(10)
    np.ones((2,3))

    image-20201216234849989

  • ones_like创建与其他数据形状相同,值为0的数组

    # ones_like(a, dtype=float, order='C')
    np.ones_like(x)
    np.ones_like(y)

    image-20201216235120662

  • zero创建全是0的数组

    # np.zeros(shape, dtype=None, order='C')
    np.zeros(10)
    np.zeros((2,4))

    image-20201216235508499

  • zero_like创建形状相同,值全为1的数组

    # np.zeros_like(a, dtype=None)
    
    np.zeros_like(x)
    np.zeros_like(y)

    image-20201216235759182

  • empty创建值为0的数组,

    其中的数据未初始化,可能为随机值

    # empty(shape, dtype=float, order='C')
    np.empty(10)

    image-20201217000730311

  • empty_like

    np.empty_like(y)

    image-20201217000801333

  • full创建指定值的数组

    # np.full(shape, fill_value, dtype=None, order='C')
    
    np.full(10,22)
    np.full((2,4), 33)

    image-20201217000245958

  • full_like

    np.full_like(x, 66)

    image-20201217000359802

  • randn生成随机数的数组

    # randn(d0, d1, ..., dn)
    np.random.randn()
    np.random.randn(3)
    np.random.randn(3,2)
    np.random.randn(3, 2, 4)

    image-20201217001014005

python
python numpy
License:  CC BY 4.0
Share

Further Reading

Apr 21, 2025

Typing

类型注释让python 有了更好的编辑器提示功能。 基础使用 对函数参数和返回值,进行类型注释 def surface_area_of_cube(edge_length: float) -> str:    return f"The surface area of the cube is {6 *

Feb 25, 2025

python多进程多线程下的计数及日志打印

注意点: 需要保证在多进程内的进程锁是同一个 需要保证在单进程中的多线程内线程锁是同一个 # logger.py import multiprocessing import threading ​ ​ class Logger_test:    def __init__(self, process

Dec 25, 2022

python-迭代器、生成器、协程

迭代器 Python中当容器对象提供了对迭代的支持时,可以通过container.__iter__()来返回一个迭代器对象。 迭代器需要支持以下两个方法,这两个方法共同构成了迭代器协议: iterator.__iter__() 该方法返回迭代器本身,这个方法是配合for和in使用所必须的。 iter

OLDER

虚拟环境中安装Jupyter Notebooks

NEWER

02-numpy数组对象的基本属性

Recently Updated

  • 文本切分-语义分割(Semantic Chunking)
  • dify 并发配置优化
  • Typing
  • 大模型返回中json_schema与json_mode的区别
  • Async

Trending Tags

Halo 运维 postgresql 设计模式 linux就该这么学 nas rag odoo python 文本切分

Contents

©2025 刘刚刚的blog. Some rights reserved.

Using the Halo theme Chirpy