我有一個相當大的numpy.ndarray
。它基本上是一個數組數組。我想將它轉換爲pandas.DataFrame
。我想做的是在下面將2D numpy.ndarray轉換爲pandas.DataFrame
from pandas import DataFrame
cache1 = DataFrame([{'id1': 'ABC1234'}, {'id1': 'NCMN7838'}])
cache2 = DataFrame([{'id2': 3276827}, {'id2': 98567498}, {'id2': 38472837}])
ndarr = [[4.3, 5.6, 6.7], [3.2, 4.5, 2.1]]
arr = []
for idx, i in enumerate(ndarr):
id1 = cache1.ix[idx].id1
for idx2, val in enumerate(i):
id2 = cache2.ix[idx2].id2
if val > 0:
arr.append(dict(id1=id1, id2=id2, value=val))
df = DataFrame(arr)
print(df.head())
我映射外數組的索引和內部陣列兩個DataFrame
S指數得到一定的ID碼。 cache1
和cache2
是pandas.DataFrame
。每行有~100k
行。
這需要很長的時間,就像幾個小時完成。 有什麼方法可以加快速度?
我照原樣複製了代碼。 'cache1 ['A']'是內部的東西(基本上是緩存的關鍵),所以可能會讓人困惑。我現在糾正了它。 – y2p
更新爲SSCCE – y2p
'cache2'中的最後一項不應該是'{'id2':38472837}'而不是'{'id':38472837}'? –