在nthon

时间:2016-08-28 10:24:03

标签: python arrays numpy

我有一个numpy数组如下:

2016-07-02  10:55:01
2016-07-02  10:55:01
2016-07-02  10:55:01
2016-07-02  17:01:34
2016-07-02  17:01:34
2016-07-02  16:59:52
2016-07-02  17:01:34
2016-07-02  16:59:52
2016-07-02  16:59:52
2016-07-02  10:40:00
2016-07-02  12:01:14

这是两列数组。日期和时间。但我希望两者都成为一个由'\ t'连接的单列。两个值都是字符串格式。

我通过循环完成了如下操作,但这是一个坏主意,需要花费很多时间。 :

for D in Data:
    Data2 = np.append(Data2,np.array(D[0]+"\t"+D[1]))

请提出有效的解决方案。

3 个答案:

答案 0 :(得分:3)

整洁,但不比简单循环更有效(正如Praveen在评论中指出的那样):

import numpy as np


np.apply_along_axis(lambda d: d[0] + '\t' + d[1], 1, arr)

答案 1 :(得分:2)

使用\t将标签numpy.insert插入数组,然后从n乘3到n * 3乘1 {/ 1}进行numpy.reshape

答案 2 :(得分:1)

import numpy as np
a=[[1],[2],[3]]
b=[[4],[5],[6]]

np.concatenate((a,b),axis=1)