我的代码如下:
首先,我创建一个零矩阵:
ww = (64,8)
tt14=np.zeros(ww)
这是一个浮点矩阵。当我想给矩阵分配一个字符串值(日期)时,它给了我这个错误:
ValueError: could not convert string to float: '6/29/2006'
问题出在哪里?
答案 0 :(得分:0)
矩阵需要Float类型,而日期是String类型。您可以先将日期转换为时间戳,然后将日期转换为浮动日期:
import time
date_str = "6/29/2006"
time_tuple = time.strptime(date_str, "%m/%d/%Y")
timestamp = time.mktime(time_tuple)
结果print timestamp
:
1151503200.0
检索时,我们可以将时间戳转换回字符串:
dt_obj = datetime.fromtimestamp(timestamp)
date_str = dt_obj.strftime("%m/%d/%Y")
结果print date_str
:
06/29/2006
如果仅将数组用于字符串值,则可以将数据类型参数传递给numpy.zeros()
,以用空字符串填充矩阵:
ww = (64,8)
tt14=np.zeros(ww, dtype = str)
现在您可以将任何字符串值添加到矩阵中。