首页 > 编程语言 >Python面试题:使用NumPy进行高效数组运算

Python面试题:使用NumPy进行高效数组运算

时间:2024-07-23 08:57:41浏览次数:19  
标签:面试题 Python 2d np 1d 数组 print array NumPy

NumPy 是 Python 中进行高效数组运算的基础库。以下是一些示例,展示了如何使用 NumPy 进行高效的数组运算,包括创建数组、数组操作、数学运算以及一些高级操作。

安装 NumPy

如果你还没有安装 NumPy,可以通过以下命令进行安装:

pip install numpy

示例代码

1. 创建数组
import numpy as np

# 创建一个一维数组
array_1d = np.array([1, 2, 3, 4, 5])
print("一维数组:", array_1d)

# 创建一个二维数组
array_2d = np.array([[1, 2, 3], [4, 5, 6]])
print("二维数组:\n", array_2d)

# 创建一个全零数组
zeros_array = np.zeros((3, 3))
print("全零数组:\n", zeros_array)

# 创建一个全一数组
ones_array = np.ones((2, 4))
print("全一数组:\n", ones_array)

# 创建一个单位矩阵
identity_matrix = np.eye(4)
print("单位矩阵:\n", identity_matrix)

# 创建一个范围数组
range_array = np.arange(0, 10, 2)
print("范围数组:", range_array)

# 创建一个随机数组
random_array = np.random.rand(3, 3)
print("随机数组:\n", random_array)
2. 数组操作
# 数组形状
print("数组形状:", array_2d.shape)

# 数组重塑
reshaped_array = array_1d.reshape((1, 5))
print("重塑后的数组:\n", reshaped_array)

# 数组切片
slice_array = array_2d[:, 1:3]
print("数组切片:\n", slice_array)

# 数组拼接
concatenated_array = np.concatenate((array_2d, array_2d), axis=0)
print("数组拼接:\n", concatenated_array)
3. 数学运算
# 数组加法
array_sum = array_1d + 10
print("数组加法:", array_sum)

# 数组减法
array_diff = array_1d - 1
print("数组减法:", array_diff)

# 数组乘法
array_product = array_1d * 2
print("数组乘法:", array_product)

# 数组除法
array_division = array_1d / 2
print("数组除法:", array_division)

# 数组元素平方
array_square = array_1d ** 2
print("数组平方:", array_square)

# 数组的逐元素运算
elementwise_sum = array_1d + np.array([5, 4, 3, 2, 1])
print("逐元素运算:", elementwise_sum)

# 数组矩阵乘法
matrix_product = np.dot(array_2d, array_2d.T)
print("矩阵乘法:\n", matrix_product)
4. 高级操作
# 数组转置
transpose_array = array_2d.T
print("数组转置:\n", transpose_array)

# 数组广播
broadcast_array = array_2d + np.array([1, 2, 3])
print("数组广播:\n", broadcast_array)

# 数组条件筛选
filtered_array = array_1d[array_1d > 3]
print("条件筛选后的数组:", filtered_array)

# 数组求和
sum_array = np.sum(array_2d)
print("数组求和:", sum_array)

# 数组最大值和最小值
max_value = np.max(array_2d)
min_value = np.min(array_2d)
print("数组最大值:", max_value)
print("数组最小值:", min_value)

# 数组均值和标准差
mean_value = np.mean(array_2d)
std_value = np.std(array_2d)
print("数组均值:", mean_value)
print("数组标准差:", std_value)

代码解释

  1. 创建数组:展示了如何创建一维、二维数组,以及全零、全一、单位矩阵、范围数组和随机数组。
  2. 数组操作:包括数组的形状、重塑、切片和拼接。
  3. 数学运算:展示了加法、减法、乘法、除法、平方和逐元素运算,还包括矩阵乘法。
  4. 高级操作:包括数组转置、广播、条件筛选、求和、最大值、最小值、均值和标准差。

通过这些示例,你可以快速掌握使用 NumPy 进行高效数组运算的基本方法和技巧。实际应用中,可以根据具体需求进行更加复杂和深入的操作。

标签:面试题,Python,2d,np,1d,数组,print,array,NumPy
From: https://blog.csdn.net/bigorsmallorlarge/article/details/140625384

相关文章

  • Python面试题:使用Matplotlib和Seaborn进行数据可视化
    使用Matplotlib和Seaborn进行数据可视化是数据分析中非常重要的一部分。以下示例展示了如何使用这两个库来创建各种图表,包括基本的线图、柱状图、散点图和高级的分类数据可视化图表。安装Matplotlib和Seaborn如果你还没有安装这两个库,可以使用以下命令进行安装:pipins......
  • 20、Python之容器:红楼主角都有谁?10行代码生成《红楼梦》词云图
    引言Python系列前面的文章中,我们介绍了Python中容器的基本使用,上一篇中,我们又重点介绍了Counter计数器的使用。这些介绍,应该足以应付日常的工作需求了。在今天的文章中,我想以词云图的生成这个综合案例,巩固一下前面关于容器、字典推导式、Counter的使用。同时,介绍两个比较好......
  • 使用snowflake.connector 3.0.3上的密钥对从python连接到snowflake
    我正在尝试使用Snowflake.connector包从我的Python代码连接到Snowflake。不幸的是,由于遗留代码,我只能在python3.7.3上使用Snowflake连接器版本3.0.3,并且无法升级我确实设法从我自己的计算机进行连接,使用:con=Snowflake.connector。连接(...私有密钥文件=......
  • python 文件(txt)操作
    我有一个txt文件,其中包含一列(大约2000个)单词。每个单词只用一个新行分隔。我想将所有这些单词存储在一个数组中words.txt文件的示例:applebananaorange我尝试过的代码:importrandomwithopen('E:/Code/learn/Projects/word-guessing-game/words.txt','r')a......
  • matplotlib与Python不兼容问题
    “我使用的是Matplotlib版本3.7.2。Anaconda的Spyder中的Python版本是3.8.18。当我运行importmatplotlib.pyplotasplt行时,出现错误module'matplotlib'hasnoattribute'rcParams'。当我尝试将Matplotlib和matplotlib.base包从当前的3.7.2版本升级到3.8......
  • 使用 json 配置文件进行 Python 日志记录
    我玩弄了日志模块,发现了一些我不太清楚的事情。首先,因为这是一个大程序,我希望代码尽可能简单,因此我使用了json配置文件.{"version":1,"disable_existing_loggers":false,"formatters":{"simple":{"format":"%(asctime)s-%(name)s......
  • Python随机库:从帕累托分布进行模拟(使用形状和尺度参数)
    根据Python文档,random.paretovariate(alpha)模拟帕累托分布,其中alpha是形状参数。但帕累托分布同时采用形状和尺度参数。如何从指定这两个参数的分布中进行模拟?你说的对,帕累托分布是由形状和尺度参数定义的,而random.paretovariate(alpha)函数只接受形状参数......
  • 跳过 Python Spark Pyspark Databricks 未知字段异常中的不良记录
    我想知道是否有人知道如何跳过我们从json文件获取的记录这是错误[UNKNOWN_FIELD_EXCEPTION.NEW_FIELDS_IN_RECORD_WITH_FILE_PATH]在解析过程中遇到未知字段:这是失败的代码sent=spark.readStream.format('cloudFiles')\.option('cloudFiles.format','json')......
  • 使用 python 截断 Databricks 中的增量表
    对于Python和SQL,这里给出了Delta表删除操作,并且给出了使用SQL的截断这里但我找不到Python截断表的文档。如何在Databricks中对增量表执行此操作?HowtodoitfordeltatableinDatabricks?虽然Databricks中没有直接使用PythonAPI截断De......
  • 从Python中的列表列表中提取随机列表选择
    我有一个从图像生成的RGB值列表:color_list=[(192,155,120),(132,81,65),(226,226,199),(76,94,117),(140,157,178),(17,34,54),(217,213,139),(134,171,144),(98,123,95),(109,145,96),(181,109,92),(71,47,39),......