cos*_*smo 4 python arrays numpy
我想要一个看起来像这样的 numpy 数组:
X = np.array([[10, 20], [20, 25], [30, 16], [40, 18], [50, 90], [60, 87]])
Run Code Online (Sandbox Code Playgroud)
我目前有从 firestore 检索的字典值:
doc_ref = db.collection('CPU Logs')
query_ref = doc_ref.where(u'testData', u'==', True).order_by(u'logId')
docs = query_ref.get()
Run Code Online (Sandbox Code Playgroud)
我循环遍历它们并将键值分配给 2 个变量id和usage,然后将它们添加到数组中toAppend:
for doc in docs:
values = doc.to_dict()
id = values['logId']
usage = values['usage']
toAppend = [id, usage]
Run Code Online (Sandbox Code Playgroud)
[10, 30]如果 id 为 10 并且使用情况为 30,toAppend 看起来会类似。现在,我在尝试将其添加到空的 numpy 数组时遇到了麻烦。我尝试过插入:
X = np.array([])
for doc in docs:
values = doc.to_dict()
id = values['logId']
usage = values['usage']
toAppend = [id, usage]
a = X.flatten()
np.insert(a, [0,0], toAppend)
print(X)
Run Code Online (Sandbox Code Playgroud)
以及附加:
np.append(X, toAppend)
Run Code Online (Sandbox Code Playgroud)
但两者似乎都不起作用,因为 print 语句只是打印出来[]。
查看和 的文档insertflatten:它们都返回新数组(副本)。所以你需要写
X = np.insert(a, [0, 0], toAppend)
Run Code Online (Sandbox Code Playgroud)
为了X包含扩展数组。我也不认为你需要前面的X.flatten().
您应该考虑只构建一个嵌套list并在最后仅转换一次,而不是插入 numpy 数组(这很昂贵)。
| 归档时间: |
|
| 查看次数: |
8611 次 |
| 最近记录: |