Python环境配置与数据处理

Python环境配置与数据处理

1.numpy的基础练习

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

import numpy as np
import pandas as pd
import pandas as pd
import matplotlib.pyplot as plt

%matplotlib inline


nd1=np.zeros(shape=10)
print(nd1)
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
nd1[4]=1
print(nd1)
[0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]

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

nd2=np.random.random(size=(10,10))
print(nd2)
[[0.61993158 0.31522033 0.28300058 0.17359121 0.80817087 0.75573108
  0.2524076  0.75421005 0.50546551 0.19976574]
 [0.88604238 0.11417706 0.65778908 0.86969322 0.62615679 0.41322621
  0.717381   0.66991761 0.92522042 0.25820991]
 [0.94981597 0.27551905 0.78895276 0.16181883 0.80214942 0.13796826
  0.3016356  0.23770425 0.2730307  0.51625704]
 [0.56275125 0.37429869 0.21132968 0.30695606 0.33033307 0.71280133
  0.80531668 0.45105168 0.99316998 0.03509345]
 [0.85817934 0.30642866 0.38654506 0.01980823 0.08947374 0.67045185
  0.40023845 0.97259466 0.46046158 0.43818511]
 [0.02108788 0.78284794 0.39210544 0.70737209 0.69294844 0.50113278
  0.16415867 0.29838336 0.09521118 0.74832518]
 [0.76483358 0.55966895 0.88143049 0.39842911 0.76445938 0.29011755
  0.65311882 0.34509633 0.28306275 0.78555244]
 [0.39036742 0.57327435 0.09607757 0.6195993  0.05590364 0.15495825
  0.04236545 0.13066749 0.74040154 0.19906226]
 [0.1035001  0.22343978 0.68190871 0.782599   0.42178278 0.3395189
  0.5830641  0.29792577 0.6847517  0.57117258]
 [0.22463793 0.56954224 0.98659375 0.80609581 0.76044268 0.66628508
  0.58861037 0.63903257 0.56358177 0.79286617]]
nd2max=nd2.max()
nd2min=nd2.min()
print(nd2max,nd2min)
0.9931699783795565 0.019808226699720377

1.3 创建一个元素为从10到49的ndarray对象,并将所有元素位置反转

a=np.arange(10,50)
print(a)
down=a[::-1]
print(down)
[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]
[49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26
 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10]

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

nd4=np.zeros((10,10))
nd4[0, :] = nd4[9, :] = nd4[:, 0] = nd4[:, 9] = 1
print(nd4)
[[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
nd4_1=np.ones((10,10))
nd4_1[1:-1,1:-1]=0
print(nd4_1)
[[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
 [1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]

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

I=[0,1,2,3,4]
nd5=np.array(I*5)
nd5=nd5.reshape(5,5)
print(nd5)
[[0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]
 [0 1 2 3 4]]

1.6 创建一个范围在(0,10)之间的长度为15的等差数列

nd6=np.linspace(0,10,15)
print(nd6)
[ 0.          0.71428571  1.42857143  2.14285714  2.85714286  3.57142857
  4.28571429  5.          5.71428571  6.42857143  7.14285714  7.85714286
  8.57142857  9.28571429 10.        ]

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

nd7=np.random.random(10)
print(nd7)
[0.7642248  0.57989547 0.93747947 0.35400782 0.61238838 0.89160774
 0.33170533 0.58857917 0.46881695 0.29894106]
nd7=np.sort(nd7)
print(nd7)
[0.29894106 0.33170533 0.35400782 0.46881695 0.57989547 0.58857917
 0.61238838 0.7642248  0.89160774 0.93747947]

1.8 创建一个长度为10的随机数组并将最大值替换为0

nd8=np.random.randint(0,20,size=10)
display(nd8)
index_max=nd8.argmax()
print(index_max)
nd8[index_max]=0
display(nd8)
array([ 5,  3, 14, 11, 12,  0,  1,  2,  6, 16])


9



array([ 5,  3, 14, 11, 12,  0,  1,  2,  6,  0])

1.9 给定一个4维矩阵,得到最后两维的和

nd9=np.random.randint(0,100,size=(2,3,3,3))
print(nd9)
[[[[36 95 83]
   [26 26 69]
   [62  4 80]]

  [[51 43 17]
   [31  2 96]
   [66 58 69]]

  [[ 9 22 16]
   [ 4 26 40]
   [14 97 53]]]


​ [[[71 57 6]
​ [37 13 90]
​ [79 27 84]]

[[99 35 99]
[64 91 4]
[71 90 3]]

  [[67 46 10]
   [23 60 96]
   [20 61 76]]]]
sum9_1=nd9.sum(axis=(2,3))
print(sum9_1)
[[481 433 281]
 [464 556 459]]
sum9_2=nd9.sum(axis=(-1,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值