对numpy string数组执行elementwise操作

2024-10-03 23:27:42 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个像这样的numpy数组io = np.asarray(['hello world','hello Graz', 'hello all'])。现在它的形状是io.shape (3,)。我想对每个元素执行拆分。我知道这很有效splituf = lambda i: np.asarray([item.split(" ",1) for item in i])。因为实际应用程序将在更大的数组上,所以我希望避免for循环并使用向量化操作。在

有什么想法吗?在

非常感谢


Tags: ionumpy元素helloforworldnp数组
2条回答

你可以使用熊猫图书馆。它是使用numpy构建的,提供丰富的文档和奇妙的操作,如透视图、图形、元素操作,。。。他们很多

注意:熊猫不是纽比的替代品。在

Pandas element wise operation

这是元素操作的一个特例

>>> sam = np.arange(15)
>>> print sam
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14]

>>> print pd.rolling_apply(sam, 2, lambda x: x[1] - x[0])
[ nan   1.   1.   1.   1.   1.   1.   1.   1.   1.   1.   1.   1.   1.   1.]

有一个集合nupy函数,它将Pythonstr操作应用于数组的元素

http://docs.scipy.org/doc/numpy/reference/routines.char.html

这包括一个np.char.split。在

在我有限的经验中,它们并不比列表理解快得多,因为它们仍然调用Python函数,而不是快速编译的numpyccode. If the split occurs at the same point in each string , ega[:5],a[5:]`,我们也许能够进行一些数据类型转换。在

结果是2d,对吧?在

相关问题 更多 >