나는 꽤 커서 numpy.ndarray
입니다. 기본적으로 배열의 배열입니다. pandas.DataFrame
으로 변환하고 싶습니다. 내가 뭘 원하는 내가 외부 배열의 인덱스 및 특정 ID를 얻기 위해 두 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())
아래의 코드입니다. cache1
및 cache2
은 pandas.DataFrame
입니다. 각 행은 ~100k
행입니다.
이 작업은 완료하는 데 몇 시간이 걸리며 정말 오래 걸립니다. 속도를 낼 수있는 방법이 있습니까? 이 같은
코드를 그대로 복사했습니다. 'cache1 [ 'A']'는 내부적 인 것 (기본적으로 캐시의 열쇠) 이었기 때문에 혼란 스러웠습니다. 나는 지금 그것을 바로 잡았다. – y2p
SSCCE – y2p
으로 업데이트되었습니다. 'cache2'의 마지막 항목입니다.'{'id ': 38472837} 대신'{'id2 ': 38472837}'이어야합니까? –