文章目录

  • 1 数据组织
    • 1.1 单个数据
    • 1.2 数据组织
    • 1.3 数据组织的形式
      • 1.3.1一维数据
      • 1.3.2 二维数据
      • 1.3.3 多维数据
      • 1.3.4 高维数据
    • 1.4普通数据组织的缺点
  • 2 numpy入门
    • 2.1 ndarray对象介绍
    • 2.2 ndarray的常用属性
      • 2.2.1 与元素数量有关的属性1
      • 2.2.2与元素类型有关的属性

1 数据组织

1.1 单个数据

一个整数可以表示一个数据,就是单个数据

1.2 数据组织

一堆数据组成一个整体,就是数据组织。python中常见的数据组织形式有列表,元组,字典,集合等等。

1.3 数据组织的形式

1.3.1一维数据

可以用普通的一维列表或者元组或者一维集合组织。

#一维数据
list1=[1,2,3]
set1=set(list1)

1.3.2 二维数据

列表或元祖的的二层嵌套

# 二维数据
list2=[[1,2,3],[4,5,6]]

1.3.3 多维数据

列表或者集合的多层嵌套,有几层括号就可以看作是几维数据。

1.3.4 高维数据

按照字面意思来说高维数据应该和多维数据意思差不多,其实不是这样,高维数据就是用键值对表示的,因此可以用python的字典数据类型表示高维数据。

#高维数据
dict1={"firstName":"huang"}

1.4普通数据组织的缺点

1.数据元素的类型不确定。例如下面的列表中有数字有字符串

list3=[1,2,"dasfasdf"]

2.对于不同的数据类型可能会有不同的运算,对于同一个组织里面的数据一般的运算应该是相同的。
例如这个组织3就是每个元素的值3.
3.不同的数据类型占据的空间不同,在大规模的运算中会降低效率
举例
这是利用普通的数据类型进行组织数据

def add1():a=[1,2,3,4,5]b=[1,2,3,4,5]c=[]for i in range(len(a)):c.append(a[i]+b[i])return cprint(add1())

利用特殊的类型进行组织,以矩阵为单位,看起来简单多了,

import numpy as np
def add2():a=np.array([1,2,3,4,5])b=np.array([1,2,3,4,5])c=a+breturn cprint(add2())

2 numpy入门

NumPy是一个开源的Python科学计算基础库,包含:
• 一个强大的N维数组对象 ndarray
• 广播功能函数
• 整合C/C++/Fortran代码的工具
• 线性代数、傅里叶变换、随机数生成等功能
NumPy是SciPy、Pandas等数据处理或科学计算库的基础

2.1 ndarray对象介绍

1.在上面的例子里我们已经知道ndarray的优越性,把矩阵封装为ndarray对象,重载了运算符,提供了一系列的实例方法。
ndarray是一个多维数组对象,也可以叫做矩阵对象,由两部分构成:
• 实际的数据
• 描述这些数据的元数据(数据维度、数据类型等)
2.创建简单的ndarry对象

ndarray(列表或元组)

可以这样创建简单矩阵和高维矩阵

import numpy as np
print(np.array([1,2,3,4]))
print(np.array((1,2,3,4)))
print(np.array([[1,2,3],[4,5,6]]))

2.2 ndarray的常用属性

2.2.1 与元素数量有关的属性1

1.属性说明

属性 说明
ndim 秩,即轴的数量或维度的数量
.shape ndarray对象的尺度,对于矩阵,n行m列
.size ndarray对象元素的个数,相当于.shape中n*m的值

2.属性解释
(1)轴和秩。(注意这里的秩与线性代数里的秩不是同一个概念,在这里要把自己想的笨一点,其实很简单)。
例如一个

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

二维数组(矩阵),有横轴和纵轴两个轴,那么秩为2,可以把它当作平面空间。元素6的轴为0(x轴)的值为1,轴为1(y轴)的值为2,可以认为他的索引是[1][2]

(2)其余的两个属性解释参考上面的表格。
3.属性实战

test=np.array([[1,2,3],[4,5,6]])
#test.ndim表示秩的数量
print(test.ndim)
print(test.shape)
print(test.size)
2
(2, 3)
6

2.2.2与元素类型有关的属性

1.属性说明

属性 说明
.dtype ndarray对象的元素类型
.itemsize ndarray对象中每个元素的大小,以字节为单位

2.属性解释
(1)
不同的数据类型占的字节会不同空间大小,同时整形,浮点型,复数型下面也有好多的细分,不同的特定的类型占有不同的大小
精度整数(默认int32)<浮点数(默认float64)<复数(默认complex128),如果有一个元素是精度更高的,所有的元素都跟着精度高的元素进行转换

#整数
test1=np.array([[1,2,3],[4,5,6]])
print(test1,test1.dtype)
#浮点数
test2=np.array([[1,2,3.1],[4,5,6]])
print(test2,test2.dtype)
#复数
test3=np.array([[1,2,1+2j],[4,5,6]])
print(test3,test3.dtype)
[[1 2 3][4 5 6]] int32
[[1.  2.  3.1][4.  5.  6. ]] float64
[[1.+0.j 2.+0.j 1.+2.j][4.+0.j 5.+0.j 6.+0.j]] complex128

(2)numpy支持的数据类型(不包含字符,因为字符不用做科学计算)
类型后面的数字表示占了多少位的空间

数据类型 说明
布尔类型 True或False
intc 与C语言中的int类型一致,一般是int32或int64
intp 用于索引的整数,与C语言中ssize_t一致,int32或int64
int8 字节长度的整数,取值:[‐128, 127]
int16 16位长度的整数,取值:[‐32768, 32767]
int32 32位长度的整数,取值:[‐2
int64 64位长度的整数,取值:[‐2
uint8 8位无符号整数,取值:[0, 255]
uint16 16位无符号整数,取值:[0, 65535]
uint32 32位无符号整数,取值:[0, 2
uint64 32位无符号整数,取值:[0, 2
float16 16位半精度浮点数:1位符号位,5位指数,10位尾数
float32 32位半精度浮点数:1位符号位,8位指数,23位尾数
float64 64位半精度浮点数:1位符号位,11位指数,52位尾数
complex64 复数类型,实部和虚部都是32位浮点数

3.属性实战

print(test.dtype)
print(test.itemsize)
int32
4

4.一种特殊的类型object
如果传入的数组像下面这种情况,列表不整齐(我也不知道怎么形容),就会认为一个list数组是一个元素。同时如果元素不是基本元素,是自定义的对象,也会认为是object

test4=np.array([[1,2,3],[4,5]])
print(test4,test4.dtype)
[list([1, 2, 3]) list([4, 5])] object

python科学计算2 数据组织形式与numpy入门相关推荐

  1. python 科学计算及数据可视化

    第一步:利用python,画散点图. 第二步:需要用到的库有numpy,matplotlib的子库matplotlib.pyplot numpy(Numerical Python extensions ...

  2. python科学计算笔记(一)NumPy中ndarray对象、ufunc运算、矩阵运算

    标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个 ...

  3. python科学计算库安装

    python科学计算相关的库包括numpy,scipy,matplotlib等,但是自己安装比较不容易,倒不是安装过程有多难,而是会出现各种各样的问题,现在做一记录 安装顺序numpy -> s ...

  4. numpy 创建加一行_数据科学|可视化图解Python科学计算包Numpy

    文章申明 文章作者:梁斌伟 责任编辑:郭德真 微信编辑:玖蓁 本文转载自公众号 实战统计学 (ID:statrcn) 原文链接:可视化图解Python科学计算包NumPy 作者:梁斌伟 编者按: 你真 ...

  5. python科学计算三剑客_1-python数据分析-数据分析介绍、数据分析三剑客之NumPy

    数据分析三剑客 numpy pandas(重点) matplotlib numpy模块 NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库.侧重在于数值计算,也 ...

  6. python科学计算是什么意思_Python科学计算和数据分析(NumPy详细介绍)

    本文介绍的科学计算.数据分析必备基础知识. 本文全文约2600字,阅读时间约15分钟,请你耐心观看. 本文使用的开发环境是Python3.8,Numpy版本是1.19,本文的例子全部经过验证,你可以直 ...

  7. python科学计算—— numpy

    python科学计算-- numpy 1.模块导入 2. 数组的基本属性和操作 2.1 创建一维和二维数组 2.2 常用属性 2.3 调整数组的形状 2.4 将数组转化为list 2.5 numpy的 ...

  8. 初识 Python 科学计算库之 NumPy(创建多维数组对象)

    文章目录 参考 描述 NumPy 特点 获取 导入 多维数组对象 np.array() np.asarray() 范围 随机 概览 np.random.randn() np.random.normal ...

  9. 视频教程-Python科学计算与图形渲染库-大数据

    Python科学计算与图形渲染库 东北大学计算机专业硕士研究生,欧瑞科技创始人&CEO,曾任国内著名软件公司项目经理,畅销书作者,企业IT内训讲师,CSDN学院专家讲师,制作视频课程超过100 ...

最新文章

  1. R语言ggplot2可视化:绘制堆叠的密度图(Stacked Area Chart)
  2. linux uname 命令简介
  3. Java洛谷P5461 赦免战俘讲解
  4. ZBarSDK扫描二维码
  5. 监控最佳实践--redis及业务接口
  6. win32 c++源码大全_网站源码,服务器,域名三者是什么关系?
  7. 数学--数论--剩余系 与 完全剩余系 与 简化剩余系
  8. 计算机基础教育学,计算机基础教育教学改革与创新
  9. java基础知识系列---垃圾收集
  10. redis集群linux安装教程,linux下redis集群的原生安装方式部署
  11. 树莓派所用到的软件工具及获取方法汇总
  12. C盘 html后缀 删,磁盘清理c盘的后果是什么?
  13. 第七章:项目成本管理 - (7.3 制定预算)
  14. Postman 接口测试神器
  15. curl: (51)Unable to communicate securely with peer
  16. mmdetection安装
  17. activiti工作流研究——画流程图
  18. 阶层是一条漫长的阶梯,你能爬到第几层?
  19. 高质量程序设计指南:C++/C语言
  20. python怎么读数据_Python如何读取数据

热门文章

  1. 如何破解pdf编辑保护?
  2. cv2 和 matplotlib.pyplot 和 PIL.Image 读取图片方式对比【Python读取图片】
  3. C语言字符数组的输入输出
  4. EasyStreamClient对接海康流媒体V4.X实现无插件播放流程记录
  5. UKF学习笔记之匀速直线运动目标跟踪
  6. 沟通技巧-《演讲的力量》书中的精髓:战略上藐视演讲,战术上重视它。
  7. 重装系统后要选择windows 7 Loader XE 还是 windows 7
  8. 小猫爪:S32K3学习笔记08-S32K3之MCAL中的FEE
  9. Zebra 打印机 Android 端驱动接口开发及调用案例
  10. 简单css弹出菜单,ie8一定要在头部加!DOCTYPE html PUBLIC 。。。不然没反应。花了一个小时才找到这个原因,mlgbd!!...