• Python机器学习(三十八)NumPy 基于已有数据创建数组


    NumPy提供了使用现有数据创建数组的方法。

    numpy.asarray

    要使用列表或元组创建ndarray数组,可使用asarray函数。这个函数通常用于将python序列转换为numpy数组对象的场景中。

    语法如下所示:

    numpy.asarray(sequence,  dtype = None, order = None)  

    参数:

    • sequence: 要被转换成ndarray数组的python序列。
    • dtype: 指定数组元素的数据类型。
    • order: 可以设置为’C’或’F’,表示c语言形式的内存顺序(按行排列),或者Fortran语言形式的内存顺序(按列排列)。默认值是C。

    示例

    使用列表创建numpy数组

    import numpy as np  
    l=[1,2,3,4,5,6,7]  
    a = np.asarray(l);  
    print(type(a))  
    print(a)  

    输出

    <class 'numpy.ndarray'>
    [1 2 3 4 5 6 7]

    示例

    使用元组创建一个ndarray数组

    import numpy as np  
    l=(1,2,3,4,5,6,7)     
    a = np.asarray(l);  
    print(type(a))  
    print(a)  

    输出

    <class 'numpy.ndarray'>
    [1 2 3 4 5 6 7]

    示例

    使用多个列表创建ndarray数组

    import numpy as np  
    l=[[1,2,3,4,5,6,7],[8,9]]  
    a = np.asarray(l);  
    print(type(a))  
    print(a)  

    输出

    <class 'numpy.ndarray'>
    [list([1, 2, 3, 4, 5, 6, 7]) list([8, 9])]

    numpy.frombuffer

    要使用指定的缓冲区创建数组,可以用frombuffer函数。

    语法如下所示:

    numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)  

    参数:

    • buffer: 缓冲区对象(具有缓冲区接口)。
    • dtype: 指定数组元素的数据类型。
    • count: 指定数组长度。默认值是-1。
    • offset: 表示要读取的缓冲区起始位置。默认值为0。

    示例

    import numpy as np  
    l = b'hello world'  
    print(type(l))  
    a = np.frombuffer(l, dtype = "S1")  
    print(a)  
    print(type(a))  

    输出

    <class 'bytes'>
    [b'h' b'e' b'l' b'l' b'o' b' ' b'w' b'o' b'r' b'l' b'd']
    <class 'numpy.ndarray'>

    numpy.fromiter

    要使用可迭代对象创建ndarray数组,可以使用fromiter函数。fromiter函数返回一个一维的ndarray数组。

    语法如下所示:

    numpy.fromiter(iterable, dtype, count = - 1)  

    参数:

    • iterable: 表示一个可迭代的对象。
    • dtype: 指定数组元素的数据类型。
    • count: 表示要从数组中的缓冲区读取的项数。

    示例

    import numpy as np  
    list = [0,2,4,6]  
    it = iter(list)
    x = np.fromiter(it, dtype = float, count = 2)  
    print(x)  
    print(type(x)) 

    输出

    [0. 2.]
    <class 'numpy.ndarray'>
  • 相关阅读:
    灾备架构图
    Dashboard有什么用
    第一次使用Docker的完整过程
    网页端的消息接收方式
    我理解中的应用架构
    数字化转型模型
    工业4.0的下一个十年
    一文读懂华为全屋智能一文读懂华为全屋智能
    支付总架构解析
    spring boot:shardingsphere+druid整合seata分布式事务(spring boot 2.3.3)
  • 原文地址:https://www.cnblogs.com/huanghanyu/p/13161550.html
Copyright © 2020-2023  润新知