調整後的數據我使用Python的,numpy的和scikit學習。我有數據鍵和值存儲在SQL表中。我將其作爲返回的元組列表進行檢索:[(id, value),...]
。每個id在列表中僅出現一次,並且元組按照升序ID的順序出現。這個過程完成了幾次,以便我有多個key: value
對的列表。這樣的:如何構建從多個向量numpy的陣列與ID
dataset = []
for sample in samples:
listOfTuplePairs = getDataFromSQL(sample) # get a [(id, value),...] list
dataset.append(listOfTuplePairs)
鍵可以在不同的樣本中複製,並且每行可以具有不同的長度。一個例子dataset
可能是:
dataset = [[(1, 0.13), (2, 2.05)],
[(2, 0.23), (4, 7.35), (5, 5.60)],
[(2, 0.61), (3, 4.45)]]
它可以看出,每行是一個示例,並且一些IDS(在這種情況下2)出現多個樣品英寸
問題:我希望構造一個單個(可能稀疏)numpy的適於與scikit學習處理陣列。關於每個樣本的特定鍵(ID)的值應該在同一「列」對齊(如果這是正確的術語),使得上面的例子中的矩陣將如下所示:
ids = 1 2 3 4 5
------------------------------
dataset = [(0.13, 2.05, null, null, null),
(null, 0.23, null, 7.35, 5.60),
(null, 0.61, 4.45, null, null)]
正如你所看到的,我也希望從矩陣中去掉id(儘管我需要保留它們的列表,所以我知道矩陣中的值是什麼。每個key: value
對的初始列表可能包含數千行,可能會有幾千個樣本,所以得到的矩陣可能會非常大,請提供考慮速度(Python限制內),內存效率和代碼清晰度的答案。任何幫助。
你可能想看看['pandas'](http://pandas.pydata.org/),它提供標記與此類似陣列結構。 – BrenBarn