"AttributeError: 'matrix' object has no attribute 'strftime'" error in numpy python
"AttributeError: 'matrix' object has no attribute 'strftime'" error in numpy python
我有一个维度为 (72000, 1) 的矩阵。该矩阵涉及时间戳。
我想使用 "strftime" 如下; strftime("%d/%m/%y")
,为了得到这样的输出:'11/03/02'
.
我有这样一个矩阵:
M = np.matrix([timestamps])
并且我使用 "strftime" 将所有涉及时间戳的矩阵转换为涉及字符串类型日期的矩阵。出于这个原因,我使用 "strftime" 作为 follwing:
M = M.strftime("%d/%m/%y")
当我 运行 代码时,我得到这个错误:
AttributeError: 'matrix' object has no attribute 'strftime'
这个功能的正确使用方法是什么?如何将时间戳矩阵转换为日期字符串矩阵?
如错误消息所示,您不能执行类似 matrix.strftime
的操作。您可以做的一件事是使用 numpy.apply_along_axis
。示例 -
np.apply_along_axis((lambda x:[x[0].strftime("%d/%m/%y")]),1,M)
演示 -
In [58]: M = np.matrix([[datetime.datetime.now()]*5]).T
In [59]: M.shape
Out[59]: (5, 1)
In [60]: np.apply_along_axis((lambda x:[x[0].strftime("%d/%m/%y")]),1,M)
Out[60]:
array([['10/10/15'],
['10/10/15'],
['10/10/15'],
['10/10/15'],
['10/10/15']],
dtype='<U8')
对于您收到的新错误 -
"AttributeError: 'numpy.float64' object has no attribute 'strftime'"
这意味着对象不是datetime
对象,因此如果它们是时间戳,您可以先将它们转换为日期时间。示例 -
np.apply_along_axis((lambda x:[datetime.datetime.fromtimestamp(x[0]).strftime("%d/%m/%y")]),1,M)
我有一个维度为 (72000, 1) 的矩阵。该矩阵涉及时间戳。
我想使用 "strftime" 如下; strftime("%d/%m/%y")
,为了得到这样的输出:'11/03/02'
.
我有这样一个矩阵:
M = np.matrix([timestamps])
并且我使用 "strftime" 将所有涉及时间戳的矩阵转换为涉及字符串类型日期的矩阵。出于这个原因,我使用 "strftime" 作为 follwing:
M = M.strftime("%d/%m/%y")
当我 运行 代码时,我得到这个错误:
AttributeError: 'matrix' object has no attribute 'strftime'
这个功能的正确使用方法是什么?如何将时间戳矩阵转换为日期字符串矩阵?
如错误消息所示,您不能执行类似 matrix.strftime
的操作。您可以做的一件事是使用 numpy.apply_along_axis
。示例 -
np.apply_along_axis((lambda x:[x[0].strftime("%d/%m/%y")]),1,M)
演示 -
In [58]: M = np.matrix([[datetime.datetime.now()]*5]).T
In [59]: M.shape
Out[59]: (5, 1)
In [60]: np.apply_along_axis((lambda x:[x[0].strftime("%d/%m/%y")]),1,M)
Out[60]:
array([['10/10/15'],
['10/10/15'],
['10/10/15'],
['10/10/15'],
['10/10/15']],
dtype='<U8')
对于您收到的新错误 -
"AttributeError: 'numpy.float64' object has no attribute 'strftime'"
这意味着对象不是datetime
对象,因此如果它们是时间戳,您可以先将它们转换为日期时间。示例 -
np.apply_along_axis((lambda x:[datetime.datetime.fromtimestamp(x[0]).strftime("%d/%m/%y")]),1,M)