python删除行数据numpy_python数据分析包NumPy

c3e7cedb04f8daf0ecabc23dd73a552e.png

什么是NumPy?

NumPy是Python中科学计算的基础软件包。
它是一个提供多了维数组对象,多种派生对象(如:掩码数组、矩阵)以及用于快速操作数组的函数及API,它包括数学、逻辑、数组形状变换、排序、选择、I/O 、离散傅立叶变换、基本线性代数、基本统计运算、随机模拟等等。

NumPy包的核心是ndarray对象。

梳理来源于numpy中文文档。

https://www.numpy.org.cn/index.html​www.numpy.org.cn

创建一个数组

一维数组的创建

import numpy as np#引入numpy包
a = np.array([1,2,3,4,5])#列表
b = np.array((0,1,2,3,4))#元祖
c = np.arange(9)
d = np.linspace(0, 2*np.pi, 5)
print(" a=",a,"n","b=",b,"n","c=",c,"n","d=",d)

输出为:

 a= [1 2 3 4 5] 
 b= [0 1 2 3 4] 
 c= [0 1 2 3 4 5 6 7 8] 
 d= [0.         1.57079633 3.14159265 4.71238898 6.28318531]

最基本的方法是将序列传递给NumPy的array()函数,可以传递任何序列(类数组),而不仅仅是常见的列表(list)数据类型。

对数组进行索引就像列表或任何其他Python序列一样。

多维数组的创建以及切片

a = np.array([[1,2,3,4,5],[2,3,4,53,3],[36,5,7,5,3],[23,45,64,33,23]])
print("a.shape",a.shape)#输出数组的维度
print("a[0,2]",a[0,2])#输出第一列第三行的元素
print("a[0:2,1:3]","n",a[0:2,1:3])#输出第一第二行和第二第三列的元素
print("a[:,0:2]","n",a[:,0:2])#输出第一第二列的元素
print("a[:,2]",a[:,2])#输出第三列的元素

输出为:

a.shape (4, 5)
a[0,2] 3
a[0:2,1:3] 
 [[2 3]
 [3 4]]
a[:,0:2] 
 [[ 1  2]
 [ 2  3]
 [36  5]
 [23 45]]
a[:,2] [ 3  4  7 64]

创建一个布尔数组

a = np.full((3, 3), True, dtype=bool)#方法一
b = np.ones((3,3), dtype=bool)#方法二

输出为:

array([[ True,  True,  True],
       [ True,  True,  True],
       [ True,  True,  True]])

数组属性

a=np.array([[24,533,2,4],[2,34,2,3],[2,543,34,4]])
print(a.shape)
print(a.dtype)#输出a的数据类型
print(type(a))#输出a包含元素的数据类型
print(a.size)#输出a包含元素个数
print(a.ndim)#输出a的维度

输出为:

(3, 4)
int32
<class 'numpy.ndarray'>
12
2

基本操作符

可以使用四则运算符 +、- 、/ 来完成运算操作

a = np.array([1,2,3,4,5])
b = np.array((0,1,2,3,4))
print(a + b)
print(a - b)
print(b / a)
print(a * b)
print(a ** 2)
print(a > b)
print(a%2)#求余数

输出为:

[1 3 5 7 9]
[1 1 1 1 1]
[0.         0.5        0.66666667 0.75       0.8       ]
[ 0  2  6 12 20]
[ 1  4  9 16 25]
[ True  True  True  True  True]
[1 0 1 0 1]

数组特殊运算符

a = np.array([1,2,3,4,5])
b = np.array((0,1,2,3,4))
print(a.sum())
print(a.min())
print(a.max())

输出为:

15
1
5

where函数

相当于给出数组的下标

a = np.arange(0, 100, 10)
b = np.where(a < 50)
c = np.where(a >= 50)[0]
print(a)
print(b)
print(c)

输出为:

[ 0 10 20 30 40 50 60 70 80 90]
(array([0, 1, 2, 3, 4], dtype=int64),)
[5 6 7 8 9]

python中的自定义函数

关键词def后面加一个冒号

def hello(name, loud=False):
    if loud:
        print('HELLO, %s!' % name.upper())
    else:
        print('Hello, %s' % name)
hello('Bob') #此时loud默认是False
hello('Fred', loud=True) 

输出为:

Hello, Bob
HELLO, FRED!

最后附上numpy的练习题

1、从arr中提取所有的奇数,arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
a = []
j = 1
for i in range(5):
    a.append(arr[j])
    j=j+2
print(a)

输出为:

[1, 3, 5, 7, 9]

更简便的办法:

arr[arr % 2 == 1]

2、如何反转二维数组的行和列?

arr = np.arange(9).reshape(3,3)
print(arr)
print(arr[::-1])#反转数组的行
print(arr[:,::-1])#反转数组的列

输出为:

[[0 1 2]
 [3 4 5]
 [6 7 8]]
[[6 7 8]
 [3 4 5]
 [0 1 2]]
[[2 1 0]
 [5 4 3]
 [8 7 6]]

3、如何从numpy数组中提取给定范围内的所有数字?

a = np.array([2, 6, 1, 9, 10, 3, 27]),获取5到10之间的所有项目。

a = np.arange(15)
index = np.where((a >= 5) & (a <= 10))
print(a[index])

输出为:

[ 5  6  7  8  9 10]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进课程实践、课外项目或毕业设计。通过分析和运源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值