面试复习系列【python-数据处理-1 】

简介: 面试复习系列【python-数据处理-1 】

numpy

我个人的理解是,在处理一些大量数据,多维数据的时候使用。


  • 比如我们创建一个数组,很好写
l = [1,2,3,4,5]


  • 创建一个二维数组,也很好写
l = [[1,2,3],[4,5,6]]


所以有的同学就说了:我用传统的写法一样可以实现,为什么还要浪费精力去学习numpy呢?


那么我问个问题,说一个二维数组,给每个元素都自加1 怎么写?


聪明的同学一定秒写算法:

l = [[1,2,3],[4,5,6]]
new = [ [j+1 for j in i] for i in l ]
print(new)


结果如下:

[[2, 3, 4], [5, 6, 7]]


虽然看起来简单,但是仍然比较绕,我运用了内嵌列表推导式的写法。

但是numpy却可以很人性化的简单实现出来:


import numpy
l = [[1,2,3],[4,5,6]]
l = numpy.array(l)
l +=1
print(l)


看到了吧,给这个二维数组自加1就可以让所有元素加1,很神奇吧?结果如下:

image.png

可以看到,它还贴心的给换行展示,这个二维数组。或者说此时的l已经不算一个二维数组了,而是一个专门的数据存放格式,一个更好控制和使用的格式:

<class 'numpy.ndarray'>


可以看出是Numpy的专用格式之一。


那么numpy还有什么功能呢?大家有了兴趣之后就可以来死记硬背了,起码先混个脸熟吧~

numpy:import numpy as np


创建指定大小的二维数组,值随机

a = np.empty([3,4],dtype=int)


创建指定大小的二维数组,值全为1,且指定类型

a = np.ones([3,4],dtype=int)


创建n维数组对象

a = np.array([[1,2,3],[4,5,6]])


从已有元组或数组中创建

a = np.asarray([(1,2,3),(4,5,6)])


从数值范围创建列表数组

a = np.arange(start=1,stop=5,step=2)


创建随机元素数组,行/列

a = np.random.random([2,3])


等差数组

a = np.linspace(start=0,stop=20,num=5)


等幂数组 base的1-10次方范围,4个数实现

a = np.logspace(start=1,stop=10,num=4,endpoint=True,base=2)


打印结构

print a.shape


输出元素数据类型

print a.dtype


输出元素秩

print a.ndim


输出元素总个数

print a.size


元素类型转换

a.astype(float)


只要前2行

print a[0:2]


只要第3列

print a[:,2]


只要第2行第3个元素

print a[1,2]


元素全部自加1

a+=1


元素全部判断是否等于5

print a==5


按列求和

print a.sum(axis=0)


按行求和

print a.sum(axis=1)


俩个矩阵同位置元素相乘

print a*b


矩阵扩展,行扩大2倍,列扩大3倍

print np.tile(a,(2,3))


获取每列最大值的行数

print a.argmax(axis=0)


获取每行最大值的列数

print a.argmax(axis=1)


输出每列最大值

print a[a.argmax(axis=0),range(a.shape[1])]


输出每行最大值

print a[range(a.shape[0]),a.argmax(axis=1)]


每行都从小到大排序

np.sort(a,axis=1)


每列都从小到大排序

np.sort(a,axis=0)


存储和取出

np.save('ttt',a) b = np.load('ttt.npy')


存储取出其他格式

np.savetxt('ttt.txt',a) b = np.loadtxt('ttt.txt')

相关文章
|
3月前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
114 0
|
1月前
|
SQL 分布式计算 数据处理
云产品评测|分布式Python计算服务MaxFrame | 在本地环境中使用MaxFrame + 基于MaxFrame实现大语言模型数据处理
本文基于官方文档,介绍了由浅入深的两个部分实操测试,包括在本地环境中使用MaxFrame & 基于MaxFrame实现大语言模型数据处理,对步骤有详细说明。体验下来对MaxCompute的感受是很不错的,值得尝试并使用!
53 1
|
1月前
|
人工智能 分布式计算 数据处理
有奖评测,基于分布式 Python 计算服务 MaxFrame 进行数据处理
阿里云MaxCompute MaxFrame推出分布式Python计算服务MaxFrame评测活动,助力开发者高效完成大规模数据处理、可视化探索及ML/AI开发。活动时间为2024年12月17日至2025年1月31日,参与者需体验MaxFrame并发布评测文章,有机会赢取精美礼品。
|
3月前
|
数据采集 存储 数据处理
Python中的多线程编程及其在数据处理中的应用
本文深入探讨了Python中多线程编程的概念、原理和实现方法,并详细介绍了其在数据处理领域的应用。通过对比单线程与多线程的性能差异,展示了多线程编程在提升程序运行效率方面的显著优势。文章还提供了实际案例,帮助读者更好地理解和掌握多线程编程技术。
|
3月前
|
数据处理 开发者 Python
Python中的列表推导式:简洁高效的数据处理
在编程世界中,效率和可读性是代码的两大支柱。Python语言以其独特的简洁性和强大的表达力,为开发者提供了众多优雅的解决方案,其中列表推导式便是一个闪耀的例子。本文将深入探讨列表推导式的使用场景、语法结构及其背后的执行逻辑,带你领略这一特性的魅力所在。
|
3月前
|
存储 数据处理 Python
Python科学计算:NumPy与SciPy的高效数据处理与分析
【10月更文挑战第27天】在科学计算和数据分析领域,Python凭借简洁的语法和强大的库支持广受欢迎。NumPy和SciPy作为Python科学计算的两大基石,提供了高效的数据处理和分析工具。NumPy的核心功能是N维数组对象(ndarray),支持高效的大型数据集操作;SciPy则在此基础上提供了线性代数、信号处理、优化和统计分析等多种科学计算工具。结合使用NumPy和SciPy,可以显著提升数据处理和分析的效率,使Python成为科学计算和数据分析的首选语言。
117 3
|
3月前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
83 2
|
3月前
|
机器学习/深度学习 数据可视化 数据处理
掌握Python数据科学基础——从数据处理到机器学习
掌握Python数据科学基础——从数据处理到机器学习
69 0
|
3月前
|
机器学习/深度学习 数据采集 数据挖掘
Python在数据科学中的应用:从数据处理到模型训练
Python在数据科学中的应用:从数据处理到模型训练
|
3月前
|
分布式计算 并行计算 大数据
Python编程中的高效数据处理技巧
Python编程中的高效数据处理技巧
73 0

推荐镜像

更多