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]]

相关文章
|
2月前
|
程序员 开发工具 索引
图解Python numpy基本操作
图解Python numpy基本操作
|
2月前
|
搜索推荐 索引 Python
【科学计算包NumPy】NumPy数组的基本操作
【科学计算包NumPy】NumPy数组的基本操作
49 3
|
3天前
|
索引 Python
numpy的基本操作
numpy的基本操作
numpy的基本操作
|
2月前
|
机器学习/深度学习 数据挖掘 Python
NumPy的基本操作(Python)
NumPy的基本操作(Python)
45 4
|
Python
CV5 numpy入门及图像的基本操作
复制法,即复制最边缘的像素。
65 0
|
数据挖掘 Python
【Python数据分析 - 5】:Numpy-数组的基本操作
【Python数据分析 - 5】:Numpy-数组的基本操作
【Python数据分析 - 5】:Numpy-数组的基本操作
|
机器学习/深度学习 数据挖掘 BI
NumPy数据分析基础:ndarray数组运算基本操作及切片索引迭代
NumPy数据分析基础:ndarray数组运算基本操作及切片索引迭代
118 0
NumPy数据分析基础:ndarray数组运算基本操作及切片索引迭代
|
8天前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
24 1
|
29天前
|
BI 测试技术 索引
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)-1
Python学习笔记之NumPy模块——超详细(安装、数组创建、正态分布、索引和切片、数组的复制、维度修改、拼接、分割...)
|
1天前
|
机器学习/深度学习 数据采集 数据挖掘
解锁 Python 数据分析新境界:Pandas 与 NumPy 高级技巧深度剖析
【7月更文挑战第12天】Python的Pandas和NumPy库助力高效数据处理。Pandas用于数据清洗,如填充缺失值和转换类型;NumPy则擅长数组运算,如元素级加法和矩阵乘法。结合两者,可做复杂数据分析和特征工程,如产品平均销售额计算及销售额标准化。Pandas的时间序列功能,如移动平均计算,进一步增强分析能力。掌握这两者高级技巧,能提升数据分析质量和效率。
11 4