一、向量是什么
在数学中,向量(也称为欧几里得向量、几何向量、矢量),指具有大小(magnitude)和方向的量。它可以形象化地表示为带箭头的线段。箭头所指:代表向量的方向;线段长度:代表向量的大小。与向量对应的只有大小,没有方向的量叫做数量(物理学中称标量)
在这里,向量即一维数组,用 arange 函数创建向量是最简单的方式之一:
arange函数也可以指定初始值、终止值和步长来创建一维数组:
向量还能直接对每个元素进行运算:
二、创建向量
上面使用 arange 则是创建向量的一种方式,其实只要是数组创建的函数均可以创建向量,如:
linspace() 函数
前文介绍:linspace 通过制定初始值、终止值和元素个数创建等差数列向量,通过endpoint 参数指定是否包含终止值,默认为True
logspace() 函数
同linspace,创建等比数列,基数通过base参数指定,默认基数为10
zeros() 函数和 ones() 函数
这两个函数分别可以创建指定长度或形状的全0或全1的 ndarray 数组,比如:
指定数据类型:
empty() 函数
这个函数可以创建一个没有任何具体值的 ndarray 数组,例如:
random.randn() 函数
randn 是 numpy.random 中生成正态分布随机数据的函数
fromstring() 函数
从字符串创建数组
上面从字符串创建的数组,定义为整形8bit,创建出来的其实就是字符串的ASCII 码
fromfunction() 函数
从函数创建数组,是数据分析常见的方法
可先定义一个从下标计算数值的函数,然后用fromfunction 创建数组
fromfunction 第一个参数为计算每个数组元素的函数名,第二个参数指定数组的形状。因为它支持多维数组,所以第二个参数必须是一个序列。
例如我创建一个九九乘法表:
注意,fromfunction 函数中的第二个参数指定的是数组的下标,下标作为实参通过遍历的方式传递给函数的形参。
众多python培训视频,尽在python学习网,欢迎在线学习!
根据数据之间的关系,组合数据类型可以分为3类,分别是:序列类型、集合类型和映射类型。组合数据类型更能够将多个同类或不同类型组织起来,通过单一的表示使数据更有序、更容易。序列类型是一个元素向量,元素之间的存在先后关系,通过序号访问,元素之间不排他。集合类型是一个元素类型,元素之间无序,相同元素在集合中唯一存在。映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。推荐教程:python教程以上就是小编分享的关于python中的组合数据类型可以分为哪三类的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!定义:集合是多个元素的无序组合
特点:集合类型与数学中的集合概念一致,几何元素之间无序、每个元素唯一、不存在相同元素,几何元素不可更待、不能存在可变数据类型。
非可变数据类型:整数、浮点数、复数、字符串类型、元组类型等
表示:{},元素间用,分隔
建立:{} 或者set{},建立空集合必须使用set{}
举例:
基本操作符:
增强操作符:
实例:
A-B
{123}
B-A
{'3','1','2'}
A&B
{'p','y'}
A|B
{'1','p','2','y','3',123}
A^B
{'2',123,'3','1'}
p123y
A
set()
1.包含关系比较:
True
False
2.数据去重
{'p','y',123}
['p','y',123]
定义:序列是具有先后关系的一组元素
特点:序列是一维元素向量,元素类型可以不同,元素可以相同:类似数学元素序列:元素间有序列引导,通过下标访问序列的特定元素
序列是一个基类类型,衍生为:字符串类型、元组类型、列表类型
序号的定义:正向递增序号、反向递减序号,与字符串中相似。
['.io',123,'python']
'oi.321nohtyp'
序列类型的通用函数和方法:
3
'y'
定义:元组类型是序列类型的一种扩展,一旦创建就不能修改
形式:元组使用()或者tuple()创建,元素之间用逗号分隔:小括号使不使用都可以。
举例:
('cat','dog','tiger','human')
(4352,'bule',('cat','dog','tiger','human'))
元组类型继承序列类型全部通用操作:操作符、处理函数、处理方法
元组类型创建后不能修改,因此没有特殊操作
('human','tiger',dog','cat')
'tiger'
定义:列表是序列类型的一种扩展,创建后其中的元素可以被随意修改
使用:[]或者list()创建,元素间可以用逗号隔开,列表中各元素类型可不同,无长度限制
['cat','dog','tiger',1024]
['cat','dog','tiger',1024]
列表类型操作函数及其方法:
['cat',1,2,3,4,'tiger',1024]
修改列表:
练习:
序列:元组和列表两种重要类型
应用场景:元组用于元素不改变的场景,更多用于固定搭配场景:列表更加灵活,它是最常用的序列类型
作用:表达一组有序数据并且处理问题;数据保护
元素遍历:
元组类型:
数据保护:不希望数据被程序所改变,转换成元组类型
('cat',1,2,3,4,'tiger',1024)
基本统计值需求:给出一组数并且理解
定义:总个数、求和、平均值、方差、中位数...
总个数:len()
求和:for...in
平均值:求和/总个数
方差:各数据与平均数差的平方的和的平均数
中位数:排序,然后... 奇数找中间一个,偶数中间两个的平均
映射:是一种索引和数据的对应关系,也是键和值的对应关系。
映射类型:由用户数据为定义索引
字典类型:数据的组织与表达的一种新的形态,是映射的体现。
键值对:键是数据索引的扩展,字典是键值对的集合,键值对间无序。
生成:{}和dict()创建,键值对之间用冒号:表示
举例:{<键1>:<值1>,<键2>:<值2>,...,<键n>:<值n>}
在字典变量中,通过键获得值:
<字典变量>={<键1>:<值1>,...,<键n>:<值n>}
<值>=<字典变量>[<键>]
<字典变量>[<键>]=<值>
用[]来向字典中增加或者索引键值对
举例:
'北京'
生成空字典:
de={}type(de)
<class 'dict'>
type(x) 返回变量x的类型
举例:
True
dict_keys(['中国','美国','法国])
dict_values(['北京','华盛顿','巴黎'])
实例:
'北京'
'伊斯兰堡'
('中国','北京')
练习:
1.映射的表达:映射无处不在,键值对也无处不在,统计数据出现的次数,数据是键,次数是值。
字典的主要作用:表达键值对的数据进而操作他们
2.元素遍历:
for k in d:
<语句块>
定义:jieba库是优秀的第三方中文分词库,需要额外安装
安装方法:(cmd命令下)pip install jieba
作用:利用中文词库确定汉字间的关联概率,字间概率大的组成词组,形成分词效果,用户还可以向其中自定义的添加词组。
分类:精确模式、全模式、搜索引擎模式
精确模式:将词组精确的分开,不存在冗余单词
全模式:将所有可能的词组都扫描出来,有冗余
搜索引擎模式:在精确模式的基础上,将长词再次切分
举例:
['中国','是','一个','伟大','的','国家']
['中国','国是','一个','伟大','的','国家']
['中华','华人','人民','共和','共和国','中华人民共和国','是','伟大','的']
需求:一篇文章中出现的词的频率统计
分类:英文文本,中文文本
举例:
英文:哈姆雷特(hamlet)
中文:三国演义(threekingdoms)