我有以下问题:
我有一个矩阵。现在,我想在矩阵的每一行中删除一个条目:在包含某个数字(比如4)的行中,我想删除带有该数字的条目,在其他行中,我只想删除最后一个元素。
如果我有矩阵
matrix=np.zeros((2,2))
matrix[0,0]=2
matrix[1,0]=4
matrix
这给了
2 0
4 0
删除后应该只是
2.
0
谢谢你的帮助!
所以,假设一行中最多只有一个4
,您要做的是:
roll
,那么它将成为最后一个元素在具有4
的行中,它将删除这个4并移动它之后的剩余值,在没有4
的行中,它将删除最后一个元素。
(我冒昧地尝试了一个更大的矩阵,以确保输出符合预期)
试试这个:
import numpy as np
# Actual solution
def remove_in_rows(mat, num):
for i, row in enumerate(mat):
if num in row.tolist():
index = row.tolist().index(num)
mat[i][index:] = np.roll(row[index:], -1)
return np.delete(mat, -1, 1)
# Just some example to demonstrate it works
matrix = np.array([[10 * y + x for x in range(6)] for y in range(6)])
matrix[1, 2] = 4
matrix[3, 3] = 4
matrix[4, 0] = 4
print("BEFORE:")
print(matrix)
matrix = remove_in_rows(matrix, 4)
print("AFTER:")
print(matrix)
输出:
BEFORE:
[[ 0 1 2 3 4 5]
[10 11 4 13 14 15]
[20 21 22 23 24 25]
[30 31 32 4 34 35]
[ 4 41 42 43 44 45]
[50 51 52 53 54 55]]
AFTER:
[[ 0 1 2 3 5]
[10 11 13 14 15]
[20 21 22 23 24]
[30 31 32 34 35]
[41 42 43 44 45]
[50 51 52 53 54]]
考虑矩阵: 然后,列表: 如果badcombos矩阵中的任何颜色组合出现在列表中(即上例中的子列表[[3]]和[[4]]),则将从列表中删除,我如何根据这些条件“减少”列表。
问题内容: 我正在考虑使用删除字符串中的某些字符。目前尚不清楚将要删除哪些字符(即我想删除哪些字符),但是我会假定任何字符都是有效的(例如和之类的东西,等等)。 我遇到了http://www.java-tips.org/java-se-tips/java.lang/strip-certain-characters- from-a-string.html, 但是肯定有比遍历每个字符更好的方法… 有什
我想从Velocity模板语言中的数组中移除某个元素。我在查看Apache VTL文档时没有找到任何合适的方法,这就是为什么我在这里寻求帮助。我尝试了以下内容(似乎不是数组项的方法): 返回,显示很可能不作为方法存在于数组上;) SO上有一个类似的问题,对我没有帮助:velocity模板从数组中删除元素
本文向大家介绍将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例,包括了将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例的使用技巧和注意事项,需要的朋友参考一下 在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作)。那么在 tensorflow 的 Variable 类型中如何
我正在经历一个练习,需要在从文件中删除所有元音后从文件中输出文本。例如,包含文本“计算理论”的文件应输出“Thry f Cmpttn”。 我尝试构建一个函数“removeVowel元音(ifsream 我希望在控制台中输出不带元音的字符串,但程序在不输出字符串的情况下终止。
问题内容: 这个问题已经在这里有了答案 : 删除零线2-D numpy数组 (3个答案) 4年前关闭。 是否有一个有效的和/或内置的函数来删除2d数组的全零行?我正在查看numpy文档,但尚未找到。 问题答案: 布尔索引可以做到这一点: