팬더를 사용하여 실시간으로 시리즈 작업을하고 싶습니다. 매초마다, 나는 기존 시리즈에 최신 관측치를 추가해야합니다. 내 시리즈는 DataFrame으로 그룹화되어 HDF5 파일에 저장됩니다.Pandas 시리즈 또는 DataFrame에 단일 행을 효율적으로 추가
>> existing_series = Series([7,13,97], [0,1,2])
>> updated_series = existing_series.append(Series([111], [3]))
이 가장 효율적인 방법입니다 : 여기
나는 순간에 그것을 할 방법은? 무수한 게시물을 읽었으나 고주파 데이터의 효율성에 초점을 맞추지는 못합니다.
편집 : 모듈 선반과 피클에 대해 읽었습니다. 그들은 기본적으로 디스크에 목록을 저장하려고하는 것처럼 성취 할 것 같습니다. 내 목록이 크기 때문에 전체 목록을 메모리에로드하지 않고 한 번에 하나씩 효율적으로 값을 추가하는 방법이 있습니까?
아마 그 어느 것보다 효율적이지만, Pandas/numpy 구조는 근본적으로 효율적으로 성장하는 데 적합하지 않습니다. 그들은 고정 된 크기로 만들어지고 그렇게 유지 될 때 가장 잘 작동합니다. – BrenBarn
'append'는'concat'에 대한 래퍼입니다. 그래서'concat'는 약간 효율적입니다. 그러나 @BrenBarn은 Pandas가 HDF5 파일을 매 초마다 업데이트하는 것은 적절하지 않다고 말합니다. 어떤 이유로 판다가 절대적으로 필요한 경우 Series 목록을 수집하고 주기적으로 파일을 업데이트 할 수 있습니까? –
브렌 (Bren)은 사전 할당되었을 때 가장 잘 작동하는 numpy/pandas에 관한 권리가 있습니다. 메모리가 제약이 없다면 거대한 제로 배열을 사전 할당하고 프로그램 끝 부분에 초과 0을 제거하십시오. 나는 Matti가 말하고있는 것의 약간이다라고 생각한다. – arynaq