Numpy 如何找出nd数组每行中特定元素的出现次数?
这是我的数据集,我需要找出nd数组的每一行中的假预测计数或真预测计数是否更大,并将结果存储在第三个数组中,NumPy数组中是否有用于此类操作的函数请提供帮助。假设您的数据具有维度Numpy 如何找出nd数组每行中特定元素的出现次数?,numpy,count,Numpy,Count,这是我的数据集,我需要找出nd数组的每一行中的假预测计数或真预测计数是否更大,并将结果存储在第三个数组中,NumPy数组中是否有用于此类操作的函数请提供帮助。假设您的数据具有维度(n,2),您可以执行以下操作: [['fake' 'fake' 'fake' 'fake' 'fake'] ['real' 'real' 'real' 'real' 'real'] ['real' 'real' 'fake' 'fake' 'real'] ... ['real' 'real' 'real' 'r
(n,2)
,您可以执行以下操作:
[['fake' 'fake' 'fake' 'fake' 'fake']
['real' 'real' 'real' 'real' 'real']
['real' 'real' 'fake' 'fake' 'real']
...
['real' 'real' 'real' 'real' 'real']
['fake' 'fake' 'fake' 'fake' 'fake']
['fake' 'fake' 'fake' 'real' 'fake']]
假设数据具有维度
(n,2)
,则可以执行以下操作:
[['fake' 'fake' 'fake' 'fake' 'fake']
['real' 'real' 'real' 'real' 'real']
['real' 'real' 'fake' 'fake' 'real']
...
['real' 'real' 'real' 'real' 'real']
['fake' 'fake' 'fake' 'fake' 'fake']
['fake' 'fake' 'fake' 'real' 'fake']]
假设您的数组(arr)包含假的或真的,
您可以运行:
import numpy as np
# Example array
a = np.array([['fake', 'fake', 'fake', 'fake', 'fake'],
['real', 'real' ,'real' ,'real' ,'real'],
['real', 'real', 'fake', 'fake' ,'real']])
# For n even this will bias into the 'real' category
print(np.sum((a == 'fake'), axis = 1) > a.shape[1] // 2)
详情:
-将数组转换为布尔数组(无论 每个元素都是真实的)(arr==“real”)
-按每行生成总和sum(axis=1)
-是否在 特定行)大于行大小的一半…>arr.shape[1]/2
moreReal = (arr == 'real').sum(axis=1) > arr.shape[1] / 2
i、 e.行1、2和3的真实条目比假条目多
编辑
如果您的起点是一个简单的python列表,那么从
创建Numpy数组:
然后,如果要生成bool数组,请运行:
arr = np.array([
['fake', 'fake', 'fake', 'fake', 'fake'],
...
])
假设您的数组(arr)包含假的或真的,
您可以运行:
import numpy as np
# Example array
a = np.array([['fake', 'fake', 'fake', 'fake', 'fake'],
['real', 'real' ,'real' ,'real' ,'real'],
['real', 'real', 'fake', 'fake' ,'real']])
# For n even this will bias into the 'real' category
print(np.sum((a == 'fake'), axis = 1) > a.shape[1] // 2)
详情:
-将数组转换为布尔数组(无论 每个元素都是真实的)(arr==“real”)
-按每行生成总和sum(axis=1)
-是否在 特定行)大于行大小的一半…>arr.shape[1]/2
moreReal = (arr == 'real').sum(axis=1) > arr.shape[1] / 2
i、 e.行1、2和3的真实条目比假条目多
编辑
如果您的起点是一个简单的python列表,那么从
创建Numpy数组:
然后,如果要生成bool数组,请运行:
arr = np.array([
['fake', 'fake', 'fake', 'fake', 'fake'],
...
])
@valdi_bo和@lith但是我的标签是真的和假的,如何将NumPy数组中的这些布尔值转换为真的和假的标签。Fakse应该是假的,True应该是真的。我已经回答了你的问题:(arr=='real')-将你的数组转换成布尔数组(每个元素是否都是真的)。@valdi_-bo和@lith但是我的标签是真的和假的,如何将NumPy数组中的这些布尔值转换成真的和假的标签。其中Fakse应该是假的,True应该是真的。我已经回答了你的问题:(arr=='real')-将你的数组转换成bool数组(无论每个元素是否为真)。