2021-09-03

矩阵删除 插入 尾部添加等操作

import numpy as np
matrix = [
[1,2,3,4],
[5,6,7,8],
[9,10,11,12]
]
p1=np.delete(matrix,1,0)
print('>>>>p1>>>>\n',p1)
>>>>p1>>>>
 [[ 1  2  3  4]
 [ 9 10 11 12]]
 
把矩阵大于或小于N的元素置M的技巧
```python

import numpy as np
x = np.array([[1,2,3],[-3,2,4],[5,-2,9]])
x

	array([[ 1,  2,  3],
       [-3,  2,  4],
       [ 5, -2,  9]])

python
y1 = np.maximum(0,x)
y1

random.rand和random.rand和random.randint区别

import numpy as np
n = np.random.rand(3,4)
n
array([[0.5003975 , 0.8162121 , 0.45193264, 0.82332347],
       [0.09752794, 0.42988813, 0.03935796, 0.8775246 ],
       [0.85181714, 0.52776459, 0.14274664, 0.95744951]])
import numpy as np
x = np.random.randn(2,3)
x




python广播机制
```python
import numpy as np
a=np.array([[1,2,3],[4,5,6]])
a=np.array([[1,2,3,6],[4,5,6,6]])
a1=a.reshape((1,2,4))
a1

numpy中的矩阵copy问题
```python
import numpy as np
x = np.array([[1,2,3],[-3,2,4],[5,-2,9]])
x
array([[ 1,  2,  3],
       [-3,  2,  4],
       [ 5, -2,  9]])
x1 = x.copy() 
x1[x1 > 0] = 0
x1

numpy取整

import numpy as np
a=np.array([0.125,0.568,5.688])
np.round(a)

array([0., 1., 6.])


numpy基本加减和取行操作

```python
import numpy as np

A = np.arange(1, 13).reshape(6, 2)


B = np.vsplit(A, 3)

C = A.T

D = np.hsplit(C, 3)
print(A, B, C, D)
[[ 1  2]
 [ 3  4]
 [ 5  6]
 [ 7  8]
 [ 9 10]
 [11 12]] [array([[1, 2],
       [3, 4]]), array([[5, 6],
       [7, 8]]), array([[ 9, 10],
       [11, 12]])] [[ 1  3  5  7  9 11]
 [ 2  4  6  8 10 12]] [array([[1, 3],
       [2, 4]]), array([[5, 7],
       [6, 8]]), array([[ 9, 11],
       [10, 12]])]



np.zeros_like()构造全零矩阵,无需指定大小
```python

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





    array([[0, 0, 0],
           [0, 0, 0]])




```python

np.random.choice(a, size, replace, p);np.argmax(a, axis=None, out=None)

``````python
import numpy as np
a1 = np.random.choice(7,5) # 从0~7中随机选择5个数组成一维数组
a1
array([2, 0, 5, 0, 6])
a2 = np.random.choice([0,1,2,3,4,5,6],5) # 从给定list中随机选择5个数组成一维数组
a2
array([0, 6, 1, 6, 6])
a3 = np.random.choice(np.array([0,1,2,3,4,5,6]),5) # 将list换成array数组依然可以运行,效果一致
a3
array([0, 5, 4, 2, 1])
a4 = np.random.choice([0,1,2,3,4,5,6],5,replace=False) # 上述均有重复,将replace设置为False,即可按要求没有重复的选取
a4
array([3, 0, 5, 4, 1])
a5 = np.random.choice(np.array([0,1,2,3,4,5,6]),5,p=[0.1,0.1,0.1,0.1,0.1,0.1,0.4])
a5
array([6, 3, 3, 4, 3])

import numpy as np
a = np.array([[1,1,1],[2,2,2],[0,3,6]])
a
array([[1, 1, 1],
       [2, 2, 2],
       [0, 3, 6]])
b1 = np.argmax(a) # 将数组a拉平,最大值索引为9(初始索引为0)
b1
8

8
b2 = np.argmax(a, axis=0) # 按列选取最大值的索引
b2
array([1, 2, 2], dtype=int64)
b3 = np.argmax(a, axis=1) # 按行选取最大值的索引
b3
array([0, 0, 2], dtype=int64)


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用python中的pymsql完成如下:表结构与数据创建 1. 建立 `users` 表和 `orders` 表。 `users` 表有用户ID、用户名、年龄字段,(id,name,age) `orders` 表有订单ID、订单日期、订单金额,用户id字段。(id,order_date,amount,user_id) 2 两表的id作为主键,`orders` 表用户id为users的外键 3 插入数据 `users` (1, '张三', 18), (2, '李四', 20), (3, '王五', 22), (4, '赵六', 25), (5, '钱七', 28); `orders` (1, '2021-09-01', 500, 1), (2, '2021-09-02', 1000, 2), (3, '2021-09-03', 600, 3), (4, '2021-09-04', 800, 4), (5, '2021-09-05', 1500, 5), (6, '2021-09-06', 1200, 3), (7, '2021-09-07', 2000, 1), (8, '2021-09-08', 300, 2), (9, '2021-09-09', 700, 5), (10, '2021-09-10', 900, 4); 查询语句 1. 查询订单总金额 2. 查询所有用户的平均年龄,并将结果四舍五入保留两位小数。 3. 查询订单总数最多的用户的姓名和订单总数。 4. 查询所有不重复的年龄。 5. 查询订单日期在2021年9月1日至9月4日之间的订单总金额。 6. 查询年龄不大于25岁的用户的订单数量,并按照降序排序。 7. 查询订单总金额排名前3的用户的姓名和订单总金额。 8. 查询订单总金额最大的用户的姓名和订单总金额。 9. 查询订单总金额最小的用户的姓名和订单总金额。 10. 查询所有名字中含有“李”的用户,按照名字升序排序。 11. 查询所有年龄大于20岁的用户,按照年龄降序排序,并只显示前5条记录。 12. 查询每个用户的订单数量和订单总金额,并按照总金额降序排序。
06-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值