大作业 numpy下

该博客通过鸢尾属植物数据集展示了numpy在数据处理中的应用,包括计算萼片长度的平均值、中位数、标准差,数据标准化,寻找百分位数,插入NaN值,查找缺失值,筛选特定条件的行,处理分类变量,计算相关系数,替换NaN为0,统计物种数量,创建新列等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大作业

本次练习使用 鸢尾属植物数据集 .\iris.data ,在这个数据集中,包括了三类不同的鸢尾属植物:
Iris Setosa,Iris Versicolour,Iris Virginica。每类收集了50个样本,因此这个数据集一共包含了
150个样本。

  • sepallength:萼片长度
  • sepalwidth:萼片宽度
  • petallength:花瓣长度
  • petalwidth:花瓣宽度

以上四个特征的单位都是厘米(cm)。

import numpy as np
import pandas as pd
from sklearn.datasets import load_iris

导入鸢尾属植物数据集,保持文本不变。

【知识点:输入和输出】
如何导入存在数字和文本的数据集?

#导入数据
iris = load_iris()
y=iris.target
X = iris.data
print(X)
print(y)
[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [4.7 3.2 1.3 0.2]
 [4.6 3.1 1.5 0.2]
 [5.  3.6 1.4 0.2]
 [5.4 3.9 1.7 0.4]
 [4.6 3.4 1.4 0.3]
 [5.  3.4 1.5 0.2]
 [4.4 2.9 1.4 0.2]
 [4.9 3.1 1.5 0.1]
 [5.4 3.7 1.5 0.2]
 [4.8 3.4 1.6 0.2]
 [4.8 3.  1.4 0.1]
 [4.3 3.  1.1 0.1]
 [5.8 4.  1.2 0.2]
 [5.7 4.4 1.5 0.4]
 [5.4 3.9 1.3 0.4]
 [5.1 3.5 1.4 0.3]
 [5.7 3.8 1.7 0.3]
 [5.1 3.8 1.5 0.3]
 [5.4 3.4 1.7 0.2]
 [5.1 3.7 1.5 0.4]
 [4.6 3.6 1.  0.2]
 [5.1 3.3 1.7 0.5]
 [4.8 3.4 1.9 0.2]
 [5.  3.  1.6 0.2]
 [5.  3.4 1.6 0.4]
 [5.2 3.5 1.5 0.2]
 [5.2 3.4 1.4 0.2]
 [4.7 3.2 1.6 0.2]
 [4.8 3.1 1.6 0.2]
 [5.4 3.4 1.5 0.4]
 [5.2 4.1 1.5 0.1]
 [5.5 4.2 1.4 0.2]
 [4.9 3.1 1.5 0.2]
 [5.  3.2 1.2 0.2]
 [5.5 3.5 1.3 0.2]
 [4.9 3.6 1.4 0.1]
 [4.4 3.  1.3 0.2]
 [5.1 3.4 1.5 0.2]
 [5.  3.5 1.3 0.3]
 [4.5 2.3 1.3 0.3]
 [4.4 3.2 1.3 0.2]
 [5.  3.5 1.6 0.6]
 [5.1 3.8 1.9 0.4]
 [4.8 3.  1.4 0.3]
 [5.1 3.8 1.6 0.2]
 [4.6 3.2 1.4 0.2]
 [5.3 3.7 1.5 0.2]
 [5.  3.3 1.4 0.2]
 [7.  3.2 4.7 1.4]
 [6.4 3.2 4.5 1.5]
 [6.9 3.1 4.9 1.5]
 [5.5 2.3 4.  1.3]
 [6.5 2.8 4.6 1.5]
 [5.7 2.8 4.5 1.3]
 [6.3 3.3 4.7 1.6]
 [4.9 2.4 3.3 1. ]
 [6.6 2.9 4.6 1.3]
 [5.2 2.7 3.9 1.4]
 [5.  2.  3.5 1. ]
 [5.9 3.  4.2 1.5]
 [6.  2.2 4.  1. ]
 [6.1 2.9 4.7 1.4]
 [5.6 2.9 3.6 1.3]
 [6.7 3.1 4.4 1.4]
 [5.6 3.  4.5 1.5]
 [5.8 2.7 4.1 1. ]
 [6.2 2.2 4.5 1.5]
 [5.6 2.5 3.9 1.1]
 [5.9 3.2 4.8 1.8]
 [6.1 2.8 4.  1.3]
 [6.3 2.5 4.9 1.5]
 [6.1 2.8 4.7 1.2]
 [6.4 2.9 4.3 1.3]
 [6.6 3.  4.4 1.4]
 [6.8 2.8 4.8 1.4]
 [6.7 3.  5.  1.7]
 [6.  2.9 4.5 1.5]
 [5.7 2.6 3.5 1. ]
 [5.5 2.4 3.8 1.1]
 [5.5 2.4 3.7 1. ]
 [5.8 2.7 3.9 1.2]
 [6.  2.7 5.1 1.6]
 [5.4 3.  4.5 1.5]
 [6.  3.4 4.5 1.6]
 [6.7 3.1 4.7 1.5]
 [6.3 2.3 4.4 1.3]
 [5.6 3.  4.1 1.3]
 [5.5 2.5 4.  1.3]
 [5.5 2.6 4.4 1.2]
 [6.1 3.  4.6 1.4]
 [5.8 2.6 4.  1.2]
 [5.  2.3 3.3 1. ]
 [5.6 2.7 4.2 1.3]
 [5.7 3.  4.2 1.2]
 [5.7 2.9 4.2 1.3]
 [6.2 2.9 4.3 1.3]
 [5.1 2.5 3.  1.1]
 [5.7 2.8 4.1 1.3]
 [6.3 3.3 6.  2.5]
 [5.8 2.7 5.1 1.9]
 [7.1 3.  5.9 2.1]
 [6.3 2.9 5.6 1.8]
 [6.5 3.  5.8 2.2]
 [7.6 3.  6.6 2.1]
 [4.9 2.5 4.5 1.7]
 [7.3 2.9 6.3 1.8]
 [6.7 2.5 5.8 1.8]
 [7.2 3.6 6.1 2.5]
 [6.5 3.2 5.1 2. ]
 [6.4 2.7 5.3 1.9]
 [6.8 3.  5.5 2.1]
 [5.7 2.5 5.  2. ]
 [5.8 2.8 5.1 2.4]
 [6.4 3.2 5.3 2.3]
 [6.5 3.  5.5 1.8]
 [7.7 3.8 6.7 2.2]
 [7.7 2.6 6.9 2.3]
 [6.  2.2 5.  1.5]
 [6.9 3.2 5.7 2.3]
 [5.6 2.8 4.9 2. ]
 [7.7 2.8 6.7 2. ]
 [6.3 2.7 4.9 1.8]
 [6.7 3.3 5.7 2.1]
 [7.2 3.2 6.  1.8]
 [6.2 2.8 4.8 1.8]
 [6.1 3.  4.9 1.8]
 [6.4 2.8 5.6 2.1]
 [7.2 3.  5.8 1.6]
 [7.4 2.8 6.1 1.9]
 [7.9 3.8 6.4 2. ]
 [6.4 2.8 5.6 2.2]
 [6.3 2.8 5.1 1.5]
 [6.1 2.6 5.6 1.4]
 [7.7 3.  6.1 2.3]
 [6.3 3.4 5.6 2.4]
 [6.4 3.1 5.5 1.8]
 [6.  3.  4.8 1.8]
 [6.9 3.1 5.4 2.1]
 [6.7 3.1 5.6 2.4]
 [6.9 3.1 5.1 2.3]
 [5.8 2.7 5.1 1.9]
 [6.8 3.2 5.9 2.3]
 [6.7 3.3 5.7 2.5]
 [6.7 3.  5.2 2.3]
 [6.3 2.5 5.  1.9]
 [6.5 3.  5.2 2. ]
 [6.2 3.4 5.4 2.3]
 [5.9 3.  5.1 1.8]]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]
target_dict={
   0:'Iris‐setosa',1:'Iris‐versicolor',2:'Iris‐virginica'}
def target(entry):
    return target_dict[entry]if entry in target_dict else entry
target=np.vectorize(target)
target(y)
array(['Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa', 'Iris‐setosa',
       'Iris‐setosa', 'Iris‐setosa', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐versicolor', 'Iris‐versicolor', 'Iris‐versicolor',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica', 'Iris‐virginica',
       'Iris‐virginica', 'Iris‐virginica'], dtype='<U15')
iris_data=np.column_stack((X,target(y)))
print(iris_data)
[['5.1' '3.5' '1.4' '0.2' 'Iris‐setosa']
 ['4.9' '3.0' '1.4' '0.2' 'Iris‐setosa']
 ['4.7' '3.2' '1.3' '0.2' 'Iris‐setosa']
 ['4.6' '3.1' '1.5' '0.2' 'Iris‐setosa']
 ['5.0' '3.6' '1.4' '0.2' 'Iris‐setosa']
 ['5.4' '3.9' '1.7' '0.4' 'Iris‐setosa']
 ['4.6' '3.4' '1.4' '0.3' 'Iris‐setosa']
 ['5.0' '3.4' '1.5' '0.2' 'Iris‐setosa']
 ['4.4' '2.9' '1.4' '0.2' 'Iris‐setosa']
 ['4.9' '3.1' '1.5' '0.1' 'Iris‐setosa']
 ['5.4' '3.7' '1.5' '0.2' 'Iris‐setosa']
 ['4.8' '3.4' '1.6' '0.2' 'Iris‐setosa']
 ['4.8' '3.0' '1.4' '0.1' 'Iris‐setosa']
 ['4.3' '3.0' '1.1' '0.1' 'Iris‐setosa']
 ['5.8' '4.0' '1.2' '0.2' 'Iris‐setosa']
 ['5.7' '4.4' '1.5' '0.4' 'Iris‐setosa']
 ['5.4' '3.9' '1.3' '0.4' 'Iris‐setosa']
 ['5.1' '3.5' '1.4' '0.3' 'Iris‐setosa']
 ['5.7' '3.8' '1.7' '0.3' 'Iris‐setosa']
 ['5.1' '3.8' '1.5' '0.3' 'Iris‐setosa']
 ['5.4' '3.4' '1.7' '0.2' 'Iris‐setosa']
 ['5.1' '3.7' '1.5' '0.4' 'Iris‐setosa']
 ['4.6' '3.6' '1.0' '0.2' 'Iris‐setosa']
 ['5.1' '3.3' '1.7' '0.5' 'Iris‐setosa']
 ['4.8' '3.4' '1.9' '0.2' 'Iris‐setosa']
 ['5.0' '3.0' '1.6' '0.2' 'Iris‐setosa']
 ['5.0' '3.4' '1.6' '0.4' 'Iris‐setosa']
 ['5.2' '3.5' '1.5' '0.2' 'Iris‐setosa']
 ['5.2' '3.4' '1.4' '0.2' 'Iris‐setosa']
 ['4.7' '3.2' '1.6' '0.2' 'Iris‐setosa']
 ['4.8' '3.1' '1.6' '0.2' 'Iris‐setosa']
 ['5.4' '3.4' '1.5' '0.4' 'Iris‐setosa']
 ['5.2' '4.1' '1.5' '0.1' 'Iris‐setosa']
 ['5.5' '4.2' '1.4' '0.2' 'Iris‐setosa']
 ['4.9' '3.1' '1.5' '0.2' 'Iris‐setosa']
 ['5.0' '3.2' '1.2' '0.2' 'Iris‐setosa']
 ['5.5' '3.5' '1.3' '0.2' 'Iris‐setosa']
 ['4.9' '3.6' '1.4' '0.1' 'Iris‐setosa']
 ['4.4' '3.0' '1.3' '0.2' 'Iris‐setosa']
 ['5.1' '3.4' '1.5' '0.2' 'Iris‐setosa']
 ['5.0' '3.5' '1.3' '0.3' 'Iris‐setosa']
 ['4.5' '2.3' '1.3' '0.3' 'Iris‐setosa']
 ['4.4' '3.2' '1.3' '0.2' 'Iris‐setosa']
 ['5.0' '3.5' '1.6' '0.6' 'Iris‐setosa']
 ['5.1' '3.8' '1.9' '0.4' 'Iris‐setosa']
 ['4.8' '3.0' '1.4' '0.3' 'Iris‐setosa']
 ['5.1' '3.8' '1.6' '0.2' 'Iris‐setosa']
 ['4.6' '3.2' '1.4' '0.2' 'Iris‐setosa']
 ['5.3' '3.7' '1.5' '0.2' 'Iris‐setosa']
 ['5.0' '3.3' '1.4' '0.2' 'Iris‐setosa']
 ['7.0' '3.2' '4.7' '1.4' 'Iris‐versicolor']
 ['6.4' '3.2' '4.5' '1.5' 'Iris‐versicolor']
 ['6.9' '3.1' '4.9' '1.5' 'Iris‐versicolor']
 ['5.5' '2.3' '4.0' '1.3' 'Iris‐versicolor']
 ['6.5' '2.8' '4.6' '1.5' 'Iris‐versicolor']
 ['5.7' '2.8' '4.5' '1.3' 'Iris‐versicolor']
 ['6.3' '3.3' '4.7' '1.6' 'Iris‐versicolor']
 ['4.9' '2.4' '3.3' '1.0' 'Iris‐versicolor']
 ['6.6' '2.9' '4.6' '1.3' 'Iris‐versicolor']
 ['5.2' '2.7' '3.9' '1.4' 'Iris‐versicolor']
 ['5.0' '2.0' '3.5' '1.0' 'Iris‐versicolor']
 ['5.9' '3.0' '4.2' '1.5' 'Iris‐versicolor']
 ['6.0' '2.2' '4.0' '1.0' 'Iris‐versicolor']
 ['6.1' '2.9' '4.7' '1.4' 'Iris‐versicolor']
 ['5.6' '2.9' '3.6' '1.3' 'Iris‐versicolor']
 ['6.7' '3.1' '4.4' '1.4' 'Iris‐versicolor']
 ['5.6' '3.0' '4.5' '1.5' 'Iris‐versicolor']
 ['5.8' '2.7' '4.1' '1.0' 'Iris‐versicolor']
 ['6.2' '2.2' '4.5' '1.5' 'Iris‐versicolor']
 ['5.6' '2.5' '3.9' '1.1' 'Iris‐versicolor']
 ['5.9' '3.2' '4.8' '1.8' 'Iris‐versicolor']
 ['6.1' '2.8' '4.0' '1.3' 'Iris‐versicolor']
 ['6.3' '2.5' '4.9' '1.5' 'Iris‐versicolor']
 ['6.1' '2.8' '4.7' '1.2' 'Iris‐versicolor']
 ['6.4' '2.9' '4.3' '1.3' 'Iris‐versicolor']
 ['6.6' '3.0' '4.4' '1.4' 'Iris‐versicolor']
 ['6.8' '2.8' '4.8' '1.4' 'Iris‐versicolor']
 ['6.7' '3.0' '5.0' '1.7' 'Iris‐versicolor']
 ['6.0' '2.9' '4.5' '1.5' 'Iris‐versicolor']
 ['5.7' '2.6' '3.5' '1.0' 'Iris‐versicolor']
 ['5.5' '2.4' '3.8' '1.1' 'Iris‐versicolor']
 ['5.5' '2.4' '3.7' '1.0' 'Iris‐versicolor']
 ['5.8' '2.7' '3.9' '1.2' 'Iris‐versicolor']
 ['6.0' '2.7' '5.1' '1.6' 'Iris‐versicolor']
 ['5.4' '3.0' '4.5' '1.5' 'Iris‐versicolor']
 ['6.0' '3.4' '4.5' '1.6' 'Iris‐versicolor']
 ['6.7' '3.1' '4.7' '1.5' 'Iris‐versicolor']
 ['6.3' '2.3' '4.4' '1.3' 'Iris‐versicolor']
 ['5.6' '3.0' '4.1' '1.3' 'Iris‐versicolor']
 ['5.5' '2.5' '4.0' '1.3' 'Iris‐versicolor']
 ['5.5' '2.6' '4.4' '1.2' 'Iris‐versicolor']
 ['6.1' '3.0' '4.6' '1.4' 'Iris‐versicolor']
 ['5.8' '2.6' '4.0' '1.2' 'Iris‐versicolor']
 ['5.0' '2.3' '3.3' '1.0' 'Iris‐versicolor']
 ['5.6' '2.7' '4.2' '1.3' 'Iris‐versicolor']
 ['5.7' '3.0' '4.2' '1.2' 'Iris‐versicolor']
 ['5.7' '2.9' '4.2' '1.3' 'Iris‐versicolor']
 ['6.2' '2.9' '4.3' '1.3' 'Iris‐versicolor']
 ['5.1' '2.5' '3.0' '1.1' 'Iris‐versicolor']
 ['5.7' '2.8' '4.1' '1.3' 'Iris‐versicolor']
 ['6.3' '3.3' '6.0' '2.5' 'Iris‐virginica']
 ['5.8' '2.7' '5.1' '1.9' 'Iris‐virginica']
 ['7.1' '3.0' '5.9' '2.1' 'Iris‐virginica']
 ['6.3' '2.9' '5.6' '1.8' 'Iris‐virginica']
 ['6.5' '3.0' '5.8' '2.2' 'Iris‐virginica']
 ['7.6' '3.0' '6.6' '2.1' 'Iris‐virginica']
 ['4.9' '2.5' '4.5' '1.7' 'Iris‐virginica']
 ['7.3' '2.9' '6.3' '1.8' 'Iris‐virginica']
 ['6.7' '2.5' '5.8' '1.8' 'Iris‐virginica']
 ['7.2' '3.6' '6.1' '2.5' 'Iris‐virginica']
 ['6.5' '3.2' '5.1' '2.0' 'Iris‐virginica']
 ['6.4' '2.7' '5.3' '1.9' 'Iris‐virginica']
 ['6.8' '3.0' '5.5' '2.1' 'Iris‐virginica']
 ['5.7' '2.5' '5.0' '2.0' 'Iris‐virginica']
 ['5.8' '2.8' '5.1' '2.4' 'Iris‐virginica']
 ['6.4' '3.2' '5.3' '2.3' 'Iris‐virginica']
 ['6.5' '3.0' '5.5' '1.8' 'Iris‐virginica']
 ['7.7' '3.8' '6.7' '2.2' 'Iris‐virginica']
 ['7.7' '2.6' '6.9' '2.3' 'Iris‐virginica']
 ['6.0' '2.2' '5.0' '1.5' 'Iris‐virginica']
 ['6.9' '3.2' '5.7' '2.3' 'Iris‐virginica']
 ['5.6' '2.8' '4.9' '2.0' 'Iris‐virginica']
 ['7.7' '2.8' '6.7' '2.0' 'Iris‐virginica']
 ['6.3' '2.7' '4.9' '1.8' 'Iris‐virginica']
 ['6.7' '3.3' '5.7' '2.1' 'Iris‐virginica']
 ['7.2' '3.2' '6.0' '1.8' 'Iris‐virginica']
 ['6.2' '2.8' '4.8' '1.8' 'Iris‐virginica']
 ['6.1' '3.0' '4.9' '1.8' 'Iris‐virginica']
 ['6.4' '2.8' '5.6' '2.1' 'Iris‐virginica']
 ['7.2' '3.0' '5.8' '1.6' 'Iris‐virginica']
 ['7.4' '2.8' '6.1' '1.9' 'Iris‐virginica']
 ['7.9' '3.8' '6.4' '2.0' 'Iris‐virginica']
 ['6.4' '2.8' '5.6' '2.2' 'Iris‐virginica']
 ['6.3' '2.8' '5.1' '1.5' 'Iris‐virginica']
 ['6.1' '2.6' '5.6' '1.4' 'Iris‐virginica']
 ['7.7' '3.0' '6.1' '2.3' 'Iris‐virginica']
 ['6.3' '3.4' '5.6' '2.4' 'Iris‐virginica']
 ['6.4' '3.1' '5.5' '1.8' 'Iris‐virginica']
 ['6.0' '3.0' '4.8' '1.8' 'Iris‐virginica']
 ['6.9' '3.1' '5.4' '2.1' 'Iris‐virginica']
 ['6.7' '3.1' '5.6' '2.4' 'Iris‐virginica']
 ['6.9' '3.1' '5.1' '2.3' 'Iris‐virginica']
 ['5.8' '2.7' '5.1' '1.9' 'Iris‐virginica']
 ['6.8' '3.2' '5.9' '2.3' 'Iris‐virginica']
 ['6.7' '3.3' '5.7' '2.5' 'Iris‐virginica']
 ['6.7' '3.0' '5.2' '2.3' 'Iris‐virginica']
 ['6.3' '2.5' '5.0' '1.9' 'Iris‐virginica']
 ['6.5' '3.0' '5.2' '2.0' 'Iris‐virginica']
 ['6.2' '3.4' '5.4' '2.3' 'Iris‐virginica']
 ['5.9' '3.0' '5.1' '1.8' 'Iris‐virginica']]
col=np.array([['sepallength','sepalwidth','petallength','petalwidth','species']])
iris_data = np
### 关于 NumPy 的实践作业示例 #### 寻找数组中出现频率最高的值 对于给定的数组 `arr`,可以采用不同的策略来查找其中出现次数最多的元素。如果数组仅包含非负整数,则可以通过 `np.bincount()` 函数计算各个数值的数量并利用 `np.argmax()` 获取数量最多对应的索引作为最高频次的值[^1]。 ```python import numpy as np arr = np.array([1, 2, 3, 4, 5, 1, 2, 1, 1, 2, 2, 2, 3]) if arr.min() >= 0 and np.issubdtype(arr.dtype, np.integer): counts = np.bincount(arr) most_frequent = np.argmax(counts) else: values, counts = np.unique(arr, return_counts=True) most_frequent = values[np.argmax(counts)] print("出现频率最高的值是:", most_frequent) ``` 当处理含有负数或其他数据类型的数组时,应先通过 `np.unique()` 获得唯一值及其计数再确定最频繁项。 #### 数组堆叠操作 另一个常见的练习涉及多维数组的操作,比如使用 `np.stack()` 来沿新轴连接一系列相同形状的输入数组形成更高维度的数据结构[^2]: ```python x = np.array([1, 2, 3]) y = np.array([7, 8, 9]) z_default_axis = np.stack([x, y]) # 默认axis=0的结果是一个二维矩阵(2,3),即两行三列 z_customized_axis = np.stack([x, y], axis=1) # 当指定axis=1时得到的是一个三维张量(3,2) print(f"默认情况下stack后的shape:{z_default_axis.shape}\n{z_default_axis}") print(f"自定义axis参数后stack后的shape:{z_customized_axis.shape}\n{z_customized_axis}") ``` 此代码片段展示了如何改变 `axis` 参数影响最终输出的形式。 #### 创建随机数组并求极值 为了生成具有特定范围内的随机数构成的大规模数组,并从中提取最大值和最小值,可借助 `np.random.rand()` 和相应的统计函数实现这一过程[^4]: ```python random_array = np.random.rand(10, 10) max_value = np.max(random_array) min_value = np.min(random_array) print(f"随机产生的10x10数组的最大值为 {max_value};最小值为 {min_value}.") ``` 这段脚本说明了怎样快速建立大型随机分布的数据集以及执行简单的描述性分析。 #### 数据类型转换 最后,在某些应用场景下可能需要调整现有数组中的元素所占用的空间大小或是适应后续运算的需求,这时就可以运用 `.astype()` 方法来进行必要的类型变换[^5]: ```python float_array = np.array([1.2, 1.3, 2.3, 2.4, 2.4], dtype=np.float32) int_array = float_array.astype(np.int32) print(int_array) ``` 上述例子体现了从单精度浮点型到带符号整数之间的无缝切换方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值