05 numpy 基本操作

简介: === 为三个学生的三门课程成绩建模 ===姓名/成绩语文数学英语物理Tom9010011089Ali801003399Li89993393stu_info = np.

=== 为三个学生的三门课程成绩建模 ===

姓名/成绩 语文 数学 英语 物理
Tom 90 100 110 89
Ali 80 100 33 99
Li 89 99 33 93
stu_info = np.array([
        [90,100,110,89],
        [80,100,33,99],
        [89,99,33,93]
    ])

= 取值操作 获取Ali的成绩 =

stu_info[1]

array([ 80, 100, 33, 99])

= 取值 获取Ali的数学成绩 =

stu_info[1][1]
stu_info[1,1]

100

== 切片 获取Ali的数学成绩到物理成绩 ==

理解1:4 ,从第1位开始,保留4-1个值

stu_info[1,1:4]

array([100, 33, 99])

=== 切片操作 获取所有人的语文成绩 ===

第一个冒号,表示取所有人
stu_info[:,0]
array([90, 80, 89])

=== 索引器 获取TOM、Li的C、M、P成绩 ===

stu_info[np.ix_([0,2],[0,1,3])]
array([[ 90, 100, 89],
[ 89, 99, 93]])

= 使用转置操作 获取TOM、Li的C、M、P成绩 =

stu_info[[0,2]].T[[0,1,3]].T
array([[ 90, 100, 89],
[ 89, 99, 93]])

=== 修改数组的值 ===

print(stu_info)
stu_info[2] = [100,100,100,100]
print(stu_info)
stu_info[:,1] = [50,50,50]
print(stu_info)

[[ 90 100 110 89] [ 80 100 33 99] [ 89 99 33 93]]
[[ 90 100 110 89] [ 80 100 33 99] [100 100 100 100]]
[[ 90 50 110 89] [ 80 50 33 99] [100 50 100 100]]
注意:数组创建后,大小就固定了,无法新增或删除数组的行与列

=== 布尔类型索引 ===

print(stu_info)
print(stu_info>60)

[[ 90 50 110 89] [ 80 50 33 99] [100 50 100 100]]
[[ True False True True] [ True False False True] [ True False True True]]

获取大于60且小于90的成绩

stu_info[(stu_info>60) & (stu_info<90)]

array([89, 80])

再看一个例子

names = np.array(['joe','tom','anne'])
scores = np.array([[70,80,90],[77,88,99],[80,90,70]])
classes = np.array(['语文','数学','英语'])
print(names)
print(scores)
print(classes)
# 取joe的成绩
print(names=='joe')
print(scores[names=='joe'])
# 输出joe的数学成绩
print(scores[names=='joe',classes=='数学'])
# 输出joe和anne的成绩
print(scores[(names=='joe')| (names=='anne')])

['joe' 'tom' 'anne']
[[70 80 90] [77 88 99] [80 90 70]]
['语文' '数学' '英语']
取joe的成绩
[ True False False]
[[70 80 90]]
输出joe的数学成绩
[80]
输出joe和anne的成绩
[[70 80 90] [80 90 70]]

相关文章
|
8月前
|
程序员 开发工具 索引
图解Python numpy基本操作
图解Python numpy基本操作
|
8月前
|
搜索推荐 索引 Python
【科学计算包NumPy】NumPy数组的基本操作
【科学计算包NumPy】NumPy数组的基本操作
91 3
|
6月前
|
索引 Python
numpy的基本操作
numpy的基本操作
numpy的基本操作
|
8月前
|
机器学习/深度学习 数据挖掘 Python
NumPy的基本操作(Python)
NumPy的基本操作(Python)
67 4
|
Python
CV5 numpy入门及图像的基本操作
复制法,即复制最边缘的像素。
96 0
|
数据挖掘 Python
【Python数据分析 - 5】:Numpy-数组的基本操作
【Python数据分析 - 5】:Numpy-数组的基本操作
118 0
【Python数据分析 - 5】:Numpy-数组的基本操作
|
机器学习/深度学习 数据挖掘 BI
NumPy数据分析基础:ndarray数组运算基本操作及切片索引迭代
NumPy数据分析基础:ndarray数组运算基本操作及切片索引迭代
156 0
NumPy数据分析基础:ndarray数组运算基本操作及切片索引迭代
|
4月前
|
机器学习/深度学习 数据处理 Python
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
从NumPy到Pandas:轻松转换Python数值库与数据处理利器
114 0
|
5月前
|
机器学习/深度学习 数据处理 计算机视觉
NumPy实践宝典:Python高手教你如何轻松玩转数据处理!
【8月更文挑战第22天】NumPy是Python科学计算的核心库,专长于大型数组与矩阵运算,并提供了丰富的数学函数。首先需安装NumPy (`pip install numpy`)。之后可通过创建数组、索引与切片、执行数学与逻辑运算、变换数组形状及类型、计算统计量和进行矩阵运算等操作来实践学习。NumPy的应用范围广泛,从基础的数据处理到图像处理都能胜任,是数据科学领域的必备工具。
68 0
|
2月前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
77 3