나는 안양의 마스크 필터링을위한 다음과 같은 코드가 있습니다팬더에 스파 스 부울 마스크를 만드는 방법은 무엇입니까?
for i, y in enumerate(cols) :
dfm = df[y].str.contains(s)
mask= dfm if i==0 else np.column_stack((mask, dfm))
안양 스파 스되지 않습니다,하지만 필터링 결과 마스크는 스파 스입니다.
마스크를 전체 부울로 저장하면 큰 데이터 프레임 (50mio 행 * 100columns)이있을 때 많은 메모리를 사용합니다. 마스크 결과 (0.1 %가 TRUE 인) 매우 희박한로
그래서 궁금
찾을 수 없습니다 ... 메모리로드를 감소시키기 위해서 대신에 어레이 마스크 희소 부울 마스크를 사용하는 방법이 있다면 어떤 해결책도 팬더에 이미 드문 드문 배열입니다. 마스크 보관 및 사용에이 방법을 사용하는 방법이 명확하지 않기 때문에. 즉
mask_sparse = pd.SparseArray(mask)
편집 2 : 문제의 명확한 설명 : 우리는 전체 배열을 조작하지 않고 스파 스 배열 에 직접 필터 결과 마스크를받을 수 있습니까?
나는 매우 혼란 스럽다. 당신은 당신이 가지고 있고, 원하는, 그리고 시도한 것을 설명하는데 더 많은 노력을 기울일 필요가 있습니다. 귀하의 질문에 답변 할 수있는 기회를 극대화하는 방법을 더 잘 이해하기 위해 이것을 읽으십시오 ... [mcve] (http://stackoverflow.com/help/mcve) – piRSquared
thx, 나는 그것을 명확하게하기 위해 제 질문을 편집했습니다. – deepmind27
http://stackoverflow.com/questions/36523861/can-pandas-sparseseries-store-values-in-the-float16-dtype은 'pd.SparseArray'에 대해 논의한 유일한 질문입니다. 스파 스 데이터 프레임이나 시리즈를 처리하는 몇 가지 다른 방법이 있습니다. – hpaulj