字符串数组逻辑运算,我知道下面的逻辑运算与numpy的工作:可以用Python
A = np.array([True, False, True])
B = np.array([1.0, 2.0, 3.0])
C = A*B = array([1.0, 0.0, 3.0])
但同样是不正确的,如果B是字符串数组。是否可以执行以下操作:
A = np.array([True, False, True])
B = np.array(['eggs', 'milk', 'cheese'])
C = A*B = array(['eggs', '', 'cheese'])
这是一个与False相乘的字符串,应该等于一个空字符串。这可以做到没有Python循环(不必使用numpy)?
谢谢!
“我仍然使用一些类型的循环(同numpy的解决方案),但它隐藏在简洁的列表理解。” - 一般来说,当使用NumPy时,你希望你的循环在C中发生,而不是在列表解析中。 C循环可以避免大量的开销。 Python循环通常比数十到数千倍慢。 – user2357112
@ user2357112说实话,我不清楚OP是否使用numpy,因为他确实需要强大的线性代数工具箱,或者仅仅因为这是他知道分段操作的唯一方法。在numpy数组中存储字符串是非常奇特的,它不会像你将做矩阵向量乘法一样...我只是提供了一个替代方案,不需要使用numpy_。随意投票或反对票。 –