python中all的用法_Python Numpy recarray.all()用法及代码示例

本文通过示例解释了numpy中的recarray.all()方法,该方法用于检查记录数组中所有元素的特定字段是否全为真。当应用于浮点数和整数字段时,该方法返回True。然而,如果尝试直接对整个记录数组应用此方法,由于数组包含不同类型的字段,会引发TypeError。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在numpy中,数组可能具有包含字段的数据类型,类似于电子表格中的列。一个例子是[(a, int), (b, float)],其中数组中的每个条目都是一对(int,float)。通常,这些属性是使用字典查找(例如,arr['a'] and arr['b']。

记录数组允许使用以下方式将字段作为数组的成员进行访问arr.a and arr.b。如果记录数组中的所有元素均评估为True,则numpy.recarray.all()函数将返回True。

用法: numpy.recarray.all(axis=None, out=None, keepdims=False)

参数:

axis:[无或int或int的元组,可选]执行逻辑AND归约的一个或多个轴。

out :[ndarray,可选]将结果存储到的位置。

->如果提供,则必须具有广播输入的形状。

->如果未提供或没有,则返回新分配的数组。

keepdims :[bool,可选]如果将其设置为True,则缩小的轴将保留为尺寸为1的尺寸。使用此选项,结果将针对输入数组正确广播。

如果传递了默认值,则keepdims不会传递给ndarray的所有子类方法,但是任何非缺省值都将传递。如果子类sum方法未实现keepdims,则将引发任何异常。

返回:[ndarray,bool]如果所有元素的评估结果为True,则返回True。

代码1:

# Python program explaining

# numpy.recarray.all() method

# importing numpy as geek

import numpy as geek

# creating input array with 2 different field

in_arr = geek.array([(5.0, 2), (3.0, 4)],

dtype =[('a', float), ('b', int)])

print ("Input array:", in_arr)

# convert it to a record array, using arr.view(np.recarray)

rec_arr = in_arr.view(geek.recarray)

print("Record array of float:", rec_arr.a)

print("Record array of int:", rec_arr.b)

# applying recarray.all methods to float record array

out_arr = geek.recarray.all(rec_arr.a)

print ("Output array:", out_arr)

# applying recarray.all methods to int record array

out_arr = geek.recarray.all(rec_arr.b)

print ("Output array:", out_arr)

输出:

Input array: [(5.0, 2) (3.0, 4)]

Record array of float: [ 5. 3.]

Record array of int: [2 4]

Output array: True

Output array: True

代码2:

如果我们申请numpy.recarray.all()到整个记录数组,那么它将给Type error因为数组是灵活类型或混合类型。

# Python program explaining

# numpy.recarray.all() method

# importing numpy as geek

import numpy as geek

# creating input array with 2 different field

in_arr = geek.array([(5.0, 2), (3.0, 4)],

dtype =[('a', float), ('b', int)])

print ("Input array:", in_arr)

# convert it to a record array, using arr.view(np.recarray)

rec_arr = in_arr.view(geek.recarray)

print("Record array ", rec_arr)

# applying recarray.all methods to  record array

out_arr = geek.recarray.all(rec_arr)

print ("Output array:", out_arr)

输出:

TypeError:cannot perform reduce with flexible type

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值