考试题9: 考察numpy的掩码操作 products = np.array(['Mi', 'Huawei', 'Apple', 'Sansung',"Mate30Pro"])prices = np.array([2999, 4999, 8888, 3999,2000]) 代码实现:Numpy实现商品价格从高到低降序排列。
时间: 2023-12-23 21:06:04 浏览: 131
可以使用numpy的argsort()方法实现商品价格从高到低的降序排列。代码如下:
```python
import numpy as np
products = np.array(['Mi', 'Huawei', 'Apple', 'Sansung', 'Mate30Pro'])
prices = np.array([2999, 4999, 8888, 3999, 2000])
# 使用argsort()方法获取价格从小到大的索引值
sorted_idx = np.argsort(prices)
# 将索引值反转,得到价格从高到低的降序排列的索引值
sorted_idx = sorted_idx[::-1]
# 使用排序后的索引值获取商品名称和价格
sorted_products = products[sorted_idx]
sorted_prices = prices[sorted_idx]
print(sorted_products)
print(sorted_prices)
```
输出结果为:
```
['Apple' 'Huawei' 'Sansung' 'Mi' 'Mate30Pro']
[8888 4999 3999 2999 2000]
```
可以看到,商品价格已经按照从高到低的降序排列。
相关问题
import numpy as np products = np.array(['Mi', 'Huawei', 'Apple', 'Sansung', 'Mate30Pro']) prices = np.array([2999, 4999, 8888, 3999, 2000]) # 使用argsort函数获取价格从小到大的索引 sort_idx = np.argsort(prices) # 将索引倒序切片,得到价格从高到低的降序排列 sort_idx_desc = sort_idx[::-1] # 使用切片操作获取降序排列的商品和价格 products_desc = products[sort_idx_desc] prices_desc = prices[sort_idx_desc] print(products_desc) print(prices_desc)具体是什么意思
这是一段Python代码,它的作用是对商品和价格进行排序,并输出价格从高到低的商品列表和价格列表。
首先,代码定义了两个NumPy数组,一个是商品列表`products`,另一个是价格列表`prices`。
接下来,使用`argsort`函数获取价格从小到大的索引。`argsort`函数可以返回数组中元素按照升序排列时的索引值,即返回原数组排序后的下标序列。在这里,`sort_idx`保存的是`prices`数组排序后的索引序列。
然后,将`sort_idx`倒序切片,得到价格从高到低的降序排列。`[::-1]`表示将整个数组倒序,即从最后一个元素到第一个元素的顺序。
接着,使用切片操作获取降序排列的商品和价格,即根据刚才得到的`sort_idx_desc`的值,从原来的`products`和`prices`数组中按照顺序获取对应的商品名和价格。
最后,使用`print`函数分别输出降序排列的商品和价格列表。
因此,该代码的作用是将原数组中的商品和价格按照价格从高到低的顺序进行排序,然后输出排序后的商品名和价格列表。
import numpy as npb = np.array(1, 11.0)print(b)
这段代码同样存在语法错误,应该是:
```
import numpy as np
b = np.array([1, 11.0])
print(b)
```
这段代码的作用是创建一个 NumPy 数组 `b`,其中包含两个元素:整数 1 和浮点数 11.0。然后将 `b` 打印出来。输出结果为:
```
[ 1. 11.]
```
阅读全文