python数组

Python数据分析-第5章Series(上)

不问归期 提交于 2020-04-06 08:04:40
系列(Series)是由一组数据(各种NumPy数据类型),以及一组与之相关的数据标签(索引)组成,系列不要求数据类型是相同的。 系列是一个一维数组,只有一个维度(或称作轴)是行(row),在访问系列时,只需要设置一个索引。pandas自动为系列创建了一个从0开始到N-1的序号,称作行的下标,行的位置。可以显式设置index参数,为每行设置标签,pandas把标签称作索引。用户可以通过索引、也可以通过位置来访问Series对象中的元素。 系列可以看作是索引到数据值的一个映射,一个索引对应一个数据值,这种结构就是有序的字典。 官网SeriesAPI 1.构造 pandas . Series ( data = None , index = None , dtype = None , name = None , copy = False ) data:传递给系列的数据,可以是ndarray、list或字典 index:设置轴的索引,索引值的个数与data参数的长度相同。如果没有设置index参数,那么默认值是 np.arange(n),或者 RangeIndex (0, 1, 2, …, n)。 dtype:设置系列元素的数据类型,如果没有设置,那么将推断数据类型 name:系列是一个多行的结构,name是系列的名称 copy:复制数据,默认值是false 1.1

2020.3.30 机器学习概述

亡梦爱人 提交于 2020-04-01 11:30:24
1)贴上Python环境及pip list截图,了解一下大家的准备情况。暂不具备开发条件的请说明原因及打算。 2)贴上视频学习笔记,要求真实,不要抄袭,可以手写拍照。 3)什么是机器学习,有哪些分类?结合案例,写出你的理解。 1)python环境为:python3.7 pip list: 2) (1)机器学习概论: ①机器学习的基础需要数学分析和概率论基础。 ②机器学习是人工智能的一个分支。我们使用一个计算机设计出来的系统,通过训练数据并按照一定训练的方法,不断学习以及优化,达到一个能够预测信息的一个过程。 ③机器学习分类:有监督学习和无监督学习。 P1.33 预测推理方法。 ④通过模型得到预测,我们需要学习建模的过程,当然预测也重要。 ⑤机器学习的流程:数据收集,数据清洗,特征工程,数据建模 P1.47模型选择:决策数,回归,随机森林,SVM,聚类,高斯分布,EM算法。 ⑥高数知识: 微积分应用,泰勒公式,方向导数,梯度, F函数(伽马函数),凸函数(跟高数不一样的理解),(一阶可微函数,二阶可微函数,指数函数,幂函数,负对数函数,负熵函数) ⑦概率论知识:累计分布函数,概率密度函数,古典概型, (2)Python基础: Numpy库,数组的使用技巧: arange函数:指定起始值、终止值和步长来创建数组。 reahpe:可转为几行几列。 Ndarray函数

numpy 基础知识

只愿长相守 提交于 2020-03-29 08:57:44
numpy的主要对象是同质的多维数组。其中的元素通常都是数字,并且是同样的类型,由一个正整数元组进行索引。每个元素在内存中占有同样大小的空间。在Numpy中,维度被称为‘轴’。 例如对于 [1, 2, 1] 我们说它有一个轴,并且长度为3。而 [[ 1., 0., 0.], [ 0., 1., 2.]] 则有两个轴,第一个轴的长度为2,第二个轴的长度为3。 numpy数组类的名字叫做ndarray,经常简称为array。要注意将numpy.array与标准Python库中的array.array区分开,后者只处理一维数组,并且功能简单。 np.array的代码定义如下: numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) 各参数的含义:   object:用于生成数组的数据对象   dtype:指定类型,可选。   copy:可选,默认为True,对象被复制。   order:C语言风格(按行)、FORTRAN风格(按列)或A(任意,默认)。   subok:默认情况下,返回的数组被强制为基类数组。 如果为True,则返回子类。   ndmin:指定返回数组的最小维数。 ndarray具有以下重要属性:   ndarray.ndim:数组的轴数量  

python在数据处理中常用的模块之numpy

一笑奈何 提交于 2020-03-25 14:20:50
一 numpy模块 NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多(该结构也可以用来表示矩阵(matrix))。 import numpy as np (1).np.linalg.norm(x) 顾名思义:linalg = linear + algebra,norm则表示范数,首先需要注意的是范数是对向量(或者矩阵)的度量,是一个 标量(scalar) : 首先help(np.linalg.norm查看文档 norm(x, ord=None, axis=None, keepdims=False) x表示要度量的向量,ord表示范数的种类 参数 说明 计算方法 默认 二范数 np.sqrt(x 1 **2+x 2 **2+....+x n **2) ord=2 二范数 同上 ord=1 一范数 |x 1 |+|x 2 |+...+|x n | ord=np.inf 无穷范数 max(|x i |) 用于计算向量x的2范数 x = np.array([3,4]) y = np.linalg.norm(x) print(y) 输出结果为5.0 计算矩阵x的2范数 对矩阵每一个元素求平方和然后开根号 x = np.array([3,4,5],[3,4,5]) y

Python 关于数组矩阵变换函数numpy.nonzero(),numpy.multiply()用法

安稳与你 提交于 2020-03-20 13:23:01
1.numpy.nonzero(condition),返回参数condition(为数组或者矩阵)中非0元素的索引所形成的ndarray数组,同时也可以返回condition中布尔值为True的值索引,其中,数值0为False,其余的都为True。 1 >>>b=np.mat(np.arange(10)).T 2 >>>b 3 matrix([[0], 4 [1], 5 [2], 6 [3], 7 [4], 8 [5], 9 [6], 10 [7], 11 [8], 12 [9]]) 13 >>>np.nonzero(b>2) 14 (array([3, 4, 5, 6, 7, 8, 9], dtype=int64), 15 array([0, 0, 0, 0, 0, 0, 0], dtype=int64)) 16 >>>np.nonzero((b.A>2)*(b.A<8)) 17 (array([3, 4, 5, 6, 7], dtype=int64), array([0, 0, 0, 0, 0], dtype=int64)) 1 >>> x = np.eye(3) 2 >>> x 3 array([[ 1., 0., 0.], 4 [ 0., 1., 0.], 5 [ 0., 0., 1.]]) 6 >>> np.nonzero(x) 7 (array([0, 1, 2]),

LeetCode | 面试题03. 数组中重复的数字【剑指Offer】【Easy】【Python】【数组】【哈希表】【排序】

断了今生、忘了曾经 提交于 2020-03-17 22:54:18
LeetCode 面试题03. 数组中重复的数字【剑指Offer】【Easy】【Python】【数组】【哈希表】【排序】 问题 力扣 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 限制: 2 <= n <= 100000 思路 解法一 哈希表 遍历数组,未出现过的标记 flag 为 True,已出现过就返回该值。 时间复杂度: O(n),n 为 nums 的长度。 空间复杂度: O(n),n 为 nums 的长度。 Python3代码 from typing import List class Solution: def findRepeatNumber(self, nums: List[int]) -> int: # solution one: 哈希表 n = len(nums) flag = [False for i in range(n)] for i in range(n): if flag[nums[i]] == False: flag[nums[i]] = True else: return nums[i] return -1

python 备忘_矩阵相关

时光怂恿深爱的人放手 提交于 2020-03-10 05:06:45
1. python中矩阵合并、拼接、组合 >> > a = np . array ( [ 1 , 2 , 3 ] ) >> > b = np . array ( [ 2 , 3 , 4 ] ) >> > np . stack ( ( a , b ) ) array ( [ [ 1 , 2 , 3 ] , [ 2 , 3 , 4 ] ] ) >> > >> > np . stack ( ( a , b ) , axis = - 1 ) array ( [ [ 1 , 2 ] , [ 2 , 3 ] , [ 3 , 4 ] ] ) 2. array[n-1,:] 取数组的第n行 array[:,n-1] 取数组的第n列 array[:,0:3] 取数组的1到3列 np.ones((n, 1)) 生成一个n行1列的矩阵,数组元素全是1,用在T@point_cloud(np.hstack来造矩阵,满足矩阵相乘条件) 3. np.array和np.matrix的差别, np.array([1,2,3])这种不是矩阵, np.array([[1, 2, 3]]) 和 np.matrix(1, 2, 3) 才是矩阵,有shape np.array和np.matrix的差别 来源: CSDN 作者: Ka. 链接: https://blog.csdn.net/guaiderzhu1314

块数组尺寸

萝らか妹 提交于 2020-03-09 18:46:06
我目前正在尝试学习Numpy和Python。 给定以下数组: import numpy as np a = np.array([[1,2],[1,2]]) 是否有一个返回的尺寸的函数 a (EGA是一个2×2阵列)? size() 返回4,这并没有太大帮助。 #1楼 它是 .shape : ndarray。 形状 数组维度的元组。 从而: >>> a.shape (2, 2) #2楼 import numpy as np >>> np.shape(a) (2,2) 如果输入不是numpy数组而是列表列表,则也可以使用 >>> a = [[1,2],[1,2]] >>> np.shape(a) (2,2) 或元组的元组 >>> a = ((1,2),(1,2)) >>> np.shape(a) (2,2) #3楼 第一: 按照惯例,在Python世界中, numpy 的快捷方式是 np ,因此: In [1]: import numpy as np In [2]: a = np.array([[1,2],[3,4]]) 第二: 在Numpy中, 维度 , 轴/轴 , 形状 是相关的,有时是相似的概念: 尺寸 在“ 数学/物理学”中 ,维度或维度被非正式地定义为指定空间内任何点所需的最小坐标数。 但在 numpy的 ,根据 numpy的文档 ,这是相同的轴线/轴: 在Numpy中

试题 算法训练 动态数组使用

左心房为你撑大大i 提交于 2020-03-09 06:23:39
从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出。要求尽可能使用函数实现程序代码。平均值为小数的只保留其整数部分。 样例输入: 5 3 4 0 0 2 样例输出: 9 1 样例输入: 7 3 2 7 5 2 9 1 样例输出: 29 4 n = int(input()) n_list = list(map(int,input().split())) s = sum(n_list) even = s//len(n_list) print(s,even) 来源: CSDN 作者: xiao黄 链接: https://blog.csdn.net/Python_Matlab/article/details/104731229

python之numpy多维数组

只愿长相守 提交于 2020-03-09 01:14:27
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库, 支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 今天就针对多维数组展开来写博客 numpy其一部分功能如下: 1.ndarray,是具有矢量算术运算且节省空间的多维数组。 2.可以用于对整组的数据快速进行运算的辨准数学函数。 3.能够用于读写磁盘数据的工具以及用于操作系统内存映射的工具。 NumPy它本身其实没有提供很高级别的数据分析功能,NumPy之于数值计算特别重要的原因之一, 就是因为它能够高效的处理大数组的数据。 这是因为: 1.NumPy是在一个连续的内存块中存储数据,独立于其他的Python内置对象。 2.NumPy可以在整个数组上执行复杂的计算,而不需要Python的for循环。 NumPy的ndarray:一种多维数组对象 对数组进行数学运算 可以看到data的值实际是没有改变的,输出的结果只是临时结果而已。 ndarray是一个通用的同构数据多维容器,也就是说,其中的所有元素必须是相同类型的。 每个数组都有一个shape(形状)和一个dtype(数据类型)。 查看ndarray的shape和dtype: 创建ndarray 创建数组最简单的办法就是使用array函数。 它接受一切序列型的对象(包括其它数组),然后产生一个新的含有传入数据的NumPy数组