ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python数据科学手册-Numpy入门

2022-05-11 00:03:52  阅读:207  来源: 互联网

标签:入门 Python ob python 数组 array Numpy


通过Python有效导入、存储和操作内存数据的技巧

数据来源:文档、图像、声音、数值等等,将所有的数据简单的看做数字数组 非常有助于 理解和处理数据
不管数据是何种形式,第一步都是 将这些数据转换成 数值形式 的可分析数据。

Numpy Numerical Python 的简称,

  • Numpy 数组和python内置的列表类型 非常相似,随着数组在维度上的变大,Numpy数组更高效
  • 导入numpy
import numpy as np
  • 理解Python中的数据类型
    python易用之处在于动态输入,不需要声明变量类型,是动态推断的。可以将任何类型的数据指定给任何变量
    事实就是:Python变量不仅是他们的值,还包括了值得类型 的一些额外信息,
    1)python的整型不仅仅是一个整型
    标准的Python都是C语言编写的,每一个对象都是一个聪明的伪C语言结构体。该结构体包含其 值还有其他信息,
    比如 x = 10000, x是一个指针,指向一个C语言的复合结构体。
    查看 c语言 python安装目录\include\longintrepr.h
struct _longobject {
    PyObject_VAR_HEAD
    digit ob_digit[1];
};

扩展之后

struct _longobject {
  long ob_refcnt;
  PyTypeObject *ob_type;
  size_t ob_size;
  long ob_digit[1];
}
  • ob_refcnt: 是一个引用计数,帮助python内存分配 回收
  • ob_type: 变量的类型编码
  • ob_size: 数据成员的大小
  • ob_digit: python变量表示的实际整型值

    因为python的动态类型特性,可以创建一个异构的列表
L = [ True, "2", 3.0, 4]
[type(item) for item in L]

输出:[bool, str, float, int]
灵活具有代价,列表中的每一项必须包含各自的类型信息,引用计数和其他信息。每一项都是一个完整的Python对象。
如果所有变量是同一类型,就有 冗余信息。

Python中固定类型数组

import array
A = array.array('i', [0,1,2])
A

输出:array('i', [0, 1, 2])

Numpy从Python列表创建数组

np.array([1,2,3,4,5])

输出:array([1, 2, 3, 4, 5])
必须是同一类型的数据。如果类型不匹配会自动向上转换,
明确设置数据类型,加参数dtype

np.array([1,2,3,4],dtype='float32')

输出:array([1., 2., 3., 4.], dtype=float32)
设置多为数组

np.array([list(range(i, i+3)) for i in [2,4,6]])

输出:array([[2, 3, 4],
[4, 5, 6],
[6, 7, 8]])

Numpy从头创建数组

标签:入门,Python,ob,python,数组,array,Numpy
来源: https://www.cnblogs.com/clllll/p/16256078.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有