当前位置: 首页 > wzjs >正文

广州商城网站建设网站开发建设需多少钱

广州商城网站建设,网站开发建设需多少钱,长沙建网站公司,为网站做seo目录 0. 相关文章链接 1. 简单排序 1.1. 创建Array数组 1.2. 使用Numpy的sort方法进行排序(返回元素) 1.3. 使用Numpy中的argsort方法进行排序(返回脚标) 2. Numpy中的searchsorted方法 3. Numpy中的lexsort方法 3.1. 创建…

目录

0. 相关文章链接

1. 简单排序

1.1. 创建Array数组

1.2. 使用Numpy的sort方法进行排序(返回元素)

1.3. 使用Numpy中的argsort方法进行排序(返回脚标)

2. Numpy中的searchsorted方法

3. Numpy中的lexsort方法

3.1. 创建Array数组

3.2. 进行lexsort计算

3.3. 使用lexsort方法的结果


0. 相关文章链接

 Python文章汇总 

1. 简单排序

1.1. 创建Array数组

import numpy as np
demo_array = np.array([[1.5,1.3,7.5],[5.6,7.8,1.2]])
demo_array
array([[1.5, 1.3, 7.5],[5.6, 7.8, 1.2]])

1.2. 使用Numpy的sort方法进行排序(返回元素)

# 使用 numpy
print(demo_array)
print("======================")
print(demo_array.ndim)
print(demo_array.shape)
print("======================")
print(np.sort(demo_array))
print("====================== 以第0轴进行排序(二维中的竖)")
print(np.sort(demo_array,axis = 0))
print("====================== 以第1轴进行排序(二维中的横)")
print(np.sort(demo_array,axis = 1))
[[1.5 1.3 7.5][5.6 7.8 1.2]]
======================
2
(2, 3)
======================
[[1.3 1.5 7.5][1.2 5.6 7.8]]
====================== 以第0轴进行排序(二维中的竖)
[[1.5 1.3 1.2][5.6 7.8 7.5]]
====================== 以第1轴进行排序(二维中的横)
[[1.3 1.5 7.5][1.2 5.6 7.8]]

1.3. 使用Numpy中的argsort方法进行排序(返回脚标)

print(demo_array)
print("======================")
print(demo_array.ndim)
print(demo_array.shape)
print("======================")
print(np.argsort(demo_array))
print("====================== 以第0轴进行排序(二维中的竖),但是返回的是脚标")
print(np.argsort(demo_array, axis = 0))
print("====================== 以第1轴进行排序(二维中的横),但是返回的是脚标")
print(np.argsort(demo_array, axis = 1))
[[1.5 1.3 7.5][5.6 7.8 1.2]]
======================
2
(2, 3)
======================
[[1 0 2][2 0 1]]
====================== 以第0轴进行排序(二维中的竖),但是返回的是脚标
[[0 0 1][1 1 0]]
====================== 以第1轴进行排序(二维中的横),但是返回的是脚标
[[1 0 2][2 0 1]]

2. Numpy中的searchsorted方法

searchsorted方法的定义:在数组demo_array中插入数组values(并不执行插入操作),返回一个下标列表,这个列表指明了values中对应元素应该插入在 searchsorted 中那个位置上

print("====================== 使用linspace方法在0到10之间平均生成10个元素的Array对象")
demo_array = np.linspace(0,10,10)
print(demo_array)
print("======================")
values = np.array([2.5,6.5,9.5])
print(values)
print("====================== searchsorted 方法是在数组demo_array中插入数组values(并不执行插入操作)")
print("====================== 返回一个下标列表,这个列表指明了values中对应元素应该插入在 searchsorted 中那个位置上")
print(np.searchsorted(demo_array,values))
print(demo_array)
print(values)
====================== 使用linspace方法在0到10之间平均生成10个元素的Array对象
[ 0.          1.11111111  2.22222222  3.33333333  4.44444444  5.555555566.66666667  7.77777778  8.88888889 10.        ]
======================
[2.5 6.5 9.5]
====================== searchsorted 方法是在数组demo_array中插入数组values(并不执行插入操作)
====================== 返回一个下标列表,这个列表指明了values中对应元素应该插入在 searchsorted 中那个位置上
[3 6 9]
[ 0.          1.11111111  2.22222222  3.33333333  4.44444444  5.555555566.66666667  7.77777778  8.88888889 10.        ]
[2.5 6.5 9.5]

3. Numpy中的lexsort方法

lexsort方法定义( def lexsort(keys, axis=None) ):多级排序方法,为对给定的 keys 中的最后一个 key 排序,每一个 key 都被认为是列向量,其他 keys 用来辅助最后一个 key 进行排序。最后返回最后一个 key 进行排序的索引。

3.1. 创建Array数组

注意:该数组需要有重复元素

demo_array = np.array([[1,0,6],[1,7,0],[2,3,1],[2,4,0]])
demo_array

3.2. 进行lexsort计算

示例代码:

print("====================== array1")
array1 = -1*demo_array[:,0]
print(array1)print("====================== array2")
array2 = demo_array[:,2]
print(array2)print("====================== lexsort计算")
index = np.lexsort([array1,array2])
print(index)

结果输出:

====================== array1
[-1 -1 -2 -2]
====================== array2
[6 0 1 0]
====================== lexsort计算
[3 1 2 0]

过程解释:

在上述代码中,可以看到传入的是array1和array2这两个Array对象

在进行计算时,会先计算后面的(即array2)的

第一次排序,因为使用 demo_array[:,2] ,即第二列来进行升序排序,所以第一次排序后的结果如下所示

[1, 0, 6]         [1, 7, 0]

[1, 7, 0]   =>  [2, 4, 0]

[2, 3, 1]         [2, 3, 1]

[2, 4, 0]         [1, 0, 6]

第二次平常,因为使用 -1*demo_array[:,0] ,即第零列来进行降序排序,所以第二次排序后的结果如下所示

[1, 7, 0]         [2, 4, 0]

[2, 4, 0]   =>  [1, 7, 0]

[2, 3, 1]         [2, 3, 1]

[1, 0, 6]         [1, 0, 6]

此时根据最后的结果,确定这些行在最开始Array对象中是属于哪些索引

新的第一行 [2, 4, 0] 在最开始的Array对象中是第四行(索引为3)

新的第二行 [1, 7, 0] 在最开始的Array对象中是第二行(索引为1)

新的第三行 [2, 3, 1] 在最开始的Array对象中是第三行(索引为2)

新的第四行 [1, 0, 6] 在最开始的Array对象中是第一行(索引为0)

所以,最后返回的结果为 [3, 1, 2, 0], 是一个 numpy.ndarray 对象

更详细解释可以查看相关博文: 博文

3.3. 使用lexsort方法的结果

使用lexsort方法时,会返回一个 numpy.ndarray 对象(即进行多级排序后的脚标数组),当需要对原数组进行该多级排序时,可以使用原数组调用该 lexsort 方法返回的Array对象即可。

print("====================== 原始数组")
print(demo_array)
print("====================== lexsort方法返回的结果(Array对象,其中的元素为索引)")
print(index)
print("====================== 原始数组调用索引数组,会对原始数组进行重新排序")
new_array = demo_array[index]
print(new_array)
====================== 原始数组
[[1 0 6][1 7 0][2 3 1][2 4 0]]
====================== lexsort方法返回的结果(Array对象,其中的元素为索引)
[3 1 2 0]
====================== 原始数组调用索引数组,会对原始数组进行重新排序
[[2 4 0][1 7 0][2 3 1][1 0 6]]

此时,会对原始Array对象进行重新排序。


注:其他Python相关系列文章链接由此进 ->   Python文章汇总 


http://www.dtcms.com/wzjs/544409.html

相关文章:

  • 我有虚拟服务器怎么快速做网站梅州市建设培训中心网站
  • 苏州网站关键词推广网站上切换语言是怎么做的
  • 在什么网站可以做推广自己建设淘宝客网站需要备案么
  • 建设网站如何挣钱wordpress 获取第一张图片不显示
  • 英文网站 icp备案号怎么用手机做软件
  • 可以做外链的网站开发网站合作协议
  • 企业网站手机网站建设河南专业网站建设公司
  • ADPR国际传媒网站建设阳江房产网最新楼盘精装修
  • 直播网站制作辽宁营商环境建设局网站
  • 专业商城网站建设报价单电子商务网站设计的认识
  • 农业网站建设模板制作二维码的微信小程序
  • 可做市值曲线的网站个人工作室经营范围
  • 网站怎么做下载网页代码吗正规seo关键词排名哪家专业
  • 安阳网站建设安阳seo搜索引擎优化人才
  • 网站怎么加关键词做优化2020最有效的网络推广方式
  • 网站宽屏图片怎么做天津网站建设托管
  • 网站建设成交话术高端网站制作效果好
  • 有什么网站工业设计服务平台
  • 网站建设的流程步骤求职简历模板免费可编辑
  • 免费下载ppt模板网站有哪些国家企业信息公示网查询官网
  • 网站后台是怎样制作的自己主机做网站服务器吗
  • 2023年没必要学php了seo搜索引擎优化视频
  • 政协网站 是政协信息化建设百度深圳总部
  • php综合网站源码专业建设规划ppt
  • 商城 网站 开发学生做爰网站
  • 湖北省网站建设广州最新防疫动态
  • 一个虚拟主机空间挂两个网站wordpress 百家号
  • 旅游网站的建设的文献综述怎么用默认程序做网站
  • 深圳光明专业网站设计三蛋空间 wordpress
  • 上海知名网站建设公山西做网站多少钱