分享

python技巧:numpy的10个经典小例子

 Python集中营 2022-10-10 发布于甘肃

来源:csdn

相关依赖

1'''相关依赖'''
2
3import numpy as np
4
5import pandas as pd
6
7from pandas import Series, DataFrame
8
9import matplotlib.pyplot as plt

经典案例

1、创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1

1val = np.zeros(shape=10)
2
3print(val)
4
5# [0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]

2、创建一个元素为从10到49的ndarray对象

 1val = np.random.randint(10,50,size=10)
2
3print(val)
4
5# [21 10 46 46 14 13 35 34 34 22]
6
7val = np.arange(10,50)
8
9print(val)
10
11# [10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
12
13#  34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]

3、将第2题的所有元素位置反转

1print(val[::-1])

4、使用np.random.random创建一个10*10的ndarray对象,并打印出最大最小元素

 1val = np.random.random(size=(10,10))
2
3print(val)
4
5# [[0.46034704 0.92826279 0.60851056 0.0721398  0.20846474 0.41468372
6#   0.38914802 0.06587263 0.38256793 0.63644004]
7#  [0.97202454 0.43273865 0.94776358 0.5507272  0.53740751 0.2309519
8#   0.39984063 0.90588387 0.07646578 0.52762635]
9#  [0.01909915 0.05546761 0.52675377 0.44135239 0.64746162 0.67624861
10#   0.24388392 0.29012016 0.60683954 0.55037068]
11#  [0.76160338 0.87102134 0.93202506 0.37068689 0.16383023 0.31945393
12#   0.10050402 0.22500576 0.9753613  0.72038737]
13#  [0.62052235 0.02616774 0.04878584 0.32353627 0.74048332 0.54624865
14#   0.02173959 0.74428994 0.00815972 0.88273258]
15#  [0.0283714  0.68920338 0.34267375 0.38274808 0.72811597 0.7060534
16#   0.09122538 0.66409675 0.60813519 0.86477545]
17#  [0.33634274 0.6793004  0.7117975  0.22729722 0.43847182 0.5835297
18#   0.98576888 0.99882038 0.94661251 0.50116445]
19#  [0.52583272 0.80589208 0.52665783 0.93894523 0.06315669 0.36340173
20#   0.39897723 0.26197873 0.14349014 0.60925836]
21#  [0.26063116 0.71197871 0.34184457 0.26206196 0.73906535 0.67177365
22#   0.28507586 0.58825805 0.54792865 0.36452722]
23#  [0.90778866 0.42647488 0.12598963 0.45767487 0.86174664 0.22729511
24#   0.1718769  0.80304342 0.60076404 0.73100159]]

5、创建一个10*10的ndarray对象,且矩阵边界全为1,里面全为0

 1val = np.zeros(shape=(10,10),dtype=np.int8)
2
3val[[0,9]] = 1
4
5val[:,[0,9]] = 1
6
7print(val)
8
9# [[1 1 1 1 1 1 1 1 1 1]
10#  [1 0 0 0 0 0 0 0 0 1]
11#  [1 0 0 0 0 0 0 0 0 1]
12#  [1 0 0 0 0 0 0 0 0 1]
13#  [1 0 0 0 0 0 0 0 0 1]
14#  [1 0 0 0 0 0 0 0 0 1]
15#  [1 0 0 0 0 0 0 0 0 1]
16#  [1 0 0 0 0 0 0 0 0 1]
17#  [1 0 0 0 0 0 0 0 0 1]
18#  [1 1 1 1 1 1 1 1 1 1]]

6、创建一个每一行都是从0到4的5*5矩阵

1sl = [0,1,2,3,4]
2
3val = np.array(sl*5)
4
5val.reshape(5,5)
6
7print(val)

7、创建一个范围在(0,1)之间的长度为12的等差数列

1val = np.linspace(0,1,12)
2
3print(val)

8、创建一个长度为10的随机数组并排序

1val = np.random.random(10)
2
3np.sort(val)

9、给定一个4维矩阵,如何得到最后两维的和?

1val = np.random.randint(0,100,size=(2,3,3,3))
2
3val.sum(axis=(2,3))

10、实现冒泡排序法

 1val = [9,10,8,2,1,4,6,3]
2
3for i in range(len(val) - 1):
4
5    for j in range(len(val) - i - 1):
6
7        if val[j] > val[j + 1]:
8
9            val[j],val[j + 1] = val[j + 1],val[j]
10
11print(val)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多