数据科学库考核-matplotlib、numpy、pandas

目录

(一)第一考核点:编程题

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

2.创建一个元素为从10到49的ndarray对象,使用随机整数完成

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

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

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

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

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

8.正则化一个5*5随机矩阵

【正则的概念:假设a是矩阵中的一个元素,max/min分别是矩阵元素的最大最小值,则正则化后a = (a – min)/(max – min)】

9.检查dataframe是否有缺失值以及统计dataframe中每列缺失值的数量,数据如下:

10、Pandas数据处理,数据如下

1.通过csv方式导入数据集

2. 查看数据的基本信息—占用多大内存,前3行、后三行、各字段描述信息

3.选择数据集前3行数据

4.选择数据集的前3列数据

5.选择数据集的1和3行数据,1和2列数据

6.使用3种方法实现选择前3行前3列数据的方式

7.选择is_date标签列的两种方法

8.选择”height”:”job”两个列数据

9.选择最后一行

10.最后一行数据去掉is_date后的数据信息

11.删除is_date这一列的数据

12.查询出is_date=-1的这一列数据

12、绘制以下图形(图中为cos,标记错误,知晓)

(一)第一考核点:编程题

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球