Emm*_*nil 2 python string numpy logical-operators
我知道以下逻辑操作适用于numpy:
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])
Run Code Online (Sandbox Code Playgroud)
但如果B是一个字符串数组,则情况并非如此.是否可以执行以下操作:
A = np.array([True, False, True])
B = np.array(['eggs', 'milk', 'cheese'])
C = A*B = array(['eggs', '', 'cheese'])
Run Code Online (Sandbox Code Playgroud)
这是一个乘以False的字符串应该等于一个空字符串.这可以在没有Python循环的情况下完成(不必使用numpy)吗?
谢谢!
您可以使用np.where基于面具进行此类选择 -
np.where(A,B,'')
Run Code Online (Sandbox Code Playgroud)
样品运行 -
In [4]: A
Out[4]: array([ True, False, True], dtype=bool)
In [5]: B
Out[5]:
array(['eggs', 'milk', 'cheese'],
dtype='|S6')
In [6]: np.where(A,B,'')
Out[6]:
array(['eggs', '', 'cheese'],
dtype='|S6')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
860 次 |
| 最近记录: |