目录
1.创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1
2.创建一个元素为从10到49的ndarray对象,使用随机整数完成
4.用np.random.random创建一个10*10的ndarray对象,并打印出最大最小元素
【正则的概念:假设a是矩阵中的一个元素,max/min分别是矩阵元素的最大最小值,则正则化后a = (a – min)/(max – min)】
9.检查dataframe是否有缺失值以及统计dataframe中每列缺失值的数量,数据如下:
2. 查看数据的基本信息—占用多大内存,前3行、后三行、各字段描述信息
(一)第一考核点:编程题
1.创建一个长度为10的一维全为0的ndarray对象,然后让第5个元素等于1
In [1]: import numpy as np
In [2]: t1=np.zeros((1,10))
In [3]: t1
Out[3]: array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
In [4]: t1[0][4]=1
In [5]: t1
Out[5]: array([[0., 0., 0., 0., 1., 0., 0., 0., 0., 0.]])
2.创建一个元素为从10到49的ndarray对象,使用随机整数完成
In [15]: t2=np.random.randint(10,50,size=49) #
In [16]: t2
Out[16]:
array([24, 11, 34, 26, 26, 44, 12, 36, 45, 23, 23, 46, 41, 26, 37, 38, 49,
18, 47, 41, 31, 24, 27, 14, 44, 44, 38, 16, 36, 35, 18, 35, 45, 16,
22, 44, 13, 37, 42, 46, 17, 30, 43, 47, 48, 28, 23, 27, 13])
3. 将第2题的所有元素位置反转
In [18]: t3=t2[::-1] #
In [19]: t3
Out[19]:
array([13, 27, 23, 28, 48, 47, 43, 30, 17, 46, 42, 37, 13, 44, 22, 16, 45,
35, 18, 35, 36, 16, 38, 44, 44, 14, 27, 24, 31, 41, 47, 18, 49, 38,
37, 26, 41, 46, 23, 23, 45, 36, 12, 44, 26, 26, 34, 11, 24])
4. 用np.random.random创建一个10*10的ndarray对象,并打印出最大最小元素
In [21]: t4=np.random.random(size=(10,10))
In [22]: t4
Out[22]:
array([[8.21038748e-01, 7.22597306e-01, 6.35004760e-01, 6.30278905e-01,
7.21230897e-01, 1.45551717e-01, 4.21680378e-01, 6.94256860e-01,
4.75163078e-01, 3.78272279e-01],
[2.24963400e-01, 1.68455023e-01, 3.53772831e-01, 2.35938725e-01,
9.67641407e-01, 6.75862785e-01, 6.87747294e-01, 9.00981999e-01,
7.58865179e-01, 7.97948002e-01],
[4.68217204e-01, 4.82410115e-01, 6.33489932e-01, 6.69848545e-01,
3.55811030e-01, 7.10601572e-01, 9.73982045e-01, 8.48176270e-01,
9.69379583e-01, 1.38494603e-01],
[2.92866559e-01, 8.03101171e-01, 1.44894513e-04, 8.92936723e-01,
8.31452039e-01, 2.44574513e-01, 9.13012457e-01, 4.55959156e-01,
8.91557176e-01, 4.70604295e-01],
[4.61874661e-01, 5.67882268e-01, 1.83838662e-01, 3.42681002e-01,
1.86071919e-02, 8.85526983e-02, 3.07047370e-01, 4.84516109e-01,
3.15094460e-04, 8.06711517e-01],
[9.70274601e-01, 4.80280052e-01, 2.41837061e-01, 3.97089968e-01,
4.06165611e-01, 5.18093903e-01, 5.22592066e-01, 7.13036082e-01,
3.67582734e-01, 9.41866669e-01],
[4.40699632e-01, 6.98142447e-01, 2.23398446e-01, 1.58402473e-01,
3.05847039e-01, 8.16281696e-01, 9.97849493e-01, 4.71068381e-01,
2.60841425e-01, 4.54424099e-01],
[8.72116693e-01, 2.53424451e-01, 2.28433159e-01, 2.27822794e-01,
1.23495091e-01, 1.34220369e-01, 7.90260375e-01, 4.20292929e-01,
6.79454559e-01, 8.30187315e-01],
[3.41908576e-01, 5.30555269e-01, 2.07606785e-01, 2.69860458e-01,
5.04628172e-01, 4.35414313e-01, 7.54742041e-01, 9.29408049e-01,
3.89093728e-01, 1.72039662e-01],
[5.74903372e-02, 5.20853974e-01, 4.62071858e-01, 7.35976749e-01,
2.08357038e-01, 7.47241503e-01, 9.16261517e-01, 1.56101167e-01,
8.90492151e-01, 5.00361162e-02]])
In [23]: t4max=t4.max()
In [24]: t4max
Out[24]: 0.9978494934269526
5.创建一个范围在(0,1)之间的长度为12的等差数列
In [25]: t5=np.linspace(0,1,12) #
In [26]: t5
Out[26]:
array([0. , 0.09090909, 0.18181818, 0.27272727, 0.36363636,
0.45454545, 0.54545455, 0.63636364, 0.72727273, 0.81818182,
0.90909091, 1. ])
6. 创建一个长度为10的随机数组并排序
In [27]: t6=np.random.randint(1,100,10)
In [28]: t6.sort() #排序
In [29]: t6
Out[29]: array([19, 29, 45, 45, 51, 53, 68, 74, 78, 81])
7.创建一个长度为10的随机数组并将最大值替换为0
In [38]: t7=np.random.randint(1,100,10)
In [39]: t7
Out[39]: array([24, 86, 44, 93, 20, 15, 96, 44, 17, 55])
In [40]: t7[t7.argmax()]=0 #argmax()获取最大值的下标
In [41]: t7
Out[41]: array([24, 86, 44, 93, 20, 15, 0, 44, 17, 55])
8.正则化一个5*5随机矩阵
【正则的概念:假设a是矩阵中的一个元素,max/min分别是矩阵元素的最大最小值,则正则化后a = (a – min)/(max – min)】
#正则的概念:假设a是矩阵中的一个元素,max/min分别是矩阵元素的最大最小值,
#则正则化后a = (a - min)/(max - min)
In [42]: t8=np.random.randint(1,100,(5,5))
In [43]: t8
Out[43]:
array([[11, 29, 31, 33, 52],
[30, 67, 42, 72, 6],
[98, 3, 68, 6, 1],
[ 3, 30, 6, 79, 15],
[48, 89, 34, 38, 65]])
In [44]: t_max=t8.max()
In [45]: t_min=t8.min()
In [46]: t9=(t8-t_min)/(t_max-t_min)
In [47]: t9
Out[47]:
array([[0.10309278, 0.28865979, 0.30927835, 0.32989691, 0.5257732 ],
[0.29896907, 0.68041237, 0.42268041, 0.73195876, 0.05154639],
[1. , 0.02061856, 0.69072165, 0.05154639, 0. ],
[0.02061856, 0.29896907, 0.05154639, 0.80412371, 0.1443299 ],
[0.48453608, 0.90721649, 0.34020619, 0.3814433 , 0.65979381]])
9.检查dataframe是否有缺失值以及统计dataframe中每列缺失值的数量,数据如下:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a':[1.2,2,3,4],
'b':list('abcd')
})
df.iat[0,0] = np.nan
答案:
import pandas as pd
import numpy as np
df = pd.DataFrame({
'a':[1.2,2,3,4],
'b':list('abcd')})
df.iat[0,0] = np.nan
print("----------------打印数组-------------------")
print(df)
print("--------统计每一列是否有缺失值-------")
df.isnull().any()
print(df.isnull().any())
print("-----------统计a列缺失值的个数---------------")
df.a.isnull().sum()
print(df.a.isnull().sum())
输出结果
`python
a True
b False
dtype: bool
height house car handsome job is_date
0 1.80 1 0 6.5 2 1
1 1.62 1 0 5.5 0 1
2 1.71 0 1 8.5 1 1
height house car handsome job is_date
6 1.78 0 0 4.5 0 0
7 1.64 0 0 7.8 2 0
8 1.65 0 1 6.6 0 -1
RangeIndex: 9 entries, 0 to 8
Data columns (total 6 columns):
# Column Non-Null Count Dtype
height house car handsome job is_date
0 1.80 1 0 6.5 2 1
1 1.62 1 0 5.5 0 1
2 1.71 0 1 8.5 1 1
height house
0 1.80 1
2 1.71 0
height 1.63
house 1.00
car 0.00
handsome 5.30
job 1.00
is_date 0.00
Name: 5, dtype: float64
0 1
1 1
2 1
3 1
4 0
5 0
6 0
7 0
8 -1
Name: is_date, dtype: int64
height house car handsome job is_date
8 1.65 0 1 6.6 0 -1
height house car handsome job
0 1.80 1 0 6.5 2
1 1.62 1 0 5.5 0
2 1.71 0 1 8.5 1
3 1.58 1 1 6.3 1
4 1.68 0 1 5.1 0
5 1.63 1 0 5.3 1
6 1.78 0 0 4.5 0
7 1.64 0 0 7.8 2
8 1.65 0 1 6.6 0
Original: https://blog.csdn.net/Colorfully_lu/article/details/121473272
Author: Colorfully_lu
Title: 数据科学库考核-matplotlib、numpy、pandas
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/760129/
转载文章受原作者版权保护。转载请注明原作者出处!