situation pandas의 경우, z컬럼 타입을 동적 추론 하는데 많은 메모리가 소모된다. 따라서 왠만하면 타입을 정해주는 게 좋다. solution columns의 데이터 타입을 정해주거나 low_memory=False라는 파라미터를 추가하여 메모리를 덜 잡아 먹도록 해주라는 경고이다.
특정 조건의 행만 추출하기 특정 조건의 행만 추출하고 싶을 땐 apply라는 함수를 쓰면 된다. 특정 조건을 만드는 함수를 정의하고 해당 함수명을 넣어주는데 이 때 함수 return 값을 True, False가 되게끔 선언 해주면 True인 행들만 추출된다. 예시 코드 df = df[df['value'].apply(is_numeric)]
여러 분야에서 공개 데이터셋이 있듯 의료분야에도 공개 데이터셋이 있다. 다른 도메인만큼 다양하진 않지만 가뭄의 콩나듯 있다.. 가장 유명한 MIMIC도 있고, 수술중의 생체신호 데이터와 관련된 vitaldb도 있다. 오늘 소개해드릴 공개데이터셋은 eicu에 대한 데이터셋이다. 보통 eicu-crd라고 부르며 208개 센터의 약 20만명 환자들의 demo, lab, vital 등의 데이터가 담겨져 있다. Overview of the eICU data The eICU Collaborative Database is a collection of tables relating to patients who were treated as part of the Philips eICU program across intens..
merge_asof 사용하기 pandas.merge_asof()는 시간을 몇만배로 단축시킬 수 있는 굉장히 유용한 함수이다. 홈페이지에 보면, This is similar to a left-join except that we match on nearest key rather than equal keys. Both DataFrames must be sorted by the key 라고 나와있는데 설명처럼 left join과 유사하다. 파라미터도 join과 비슷하게 left, right, on, left_on, right_on, by, suffixes, tolerance 등이 있다. 기본적인 파라미터는 직관적으로 이해할 수 있다고 하면 merge_asof만의 특징적인 파라미터는 아래와 같다. 1. suffi..
엑셀의 여러 시트 한 번에 읽기 pandas로 엑셀을 읽을 때 default로는 첫번째 시트를 읽는다. 따라서 여러 시트를 한번에 읽고 싶을 때는 파라미터를 바꾸고 코드도 추가해야 한다. 예시 코드 df = pd.read_excel(path, sheet_name=None) df = pd.concat([value.assign(sheet_source=key) for key,value in df.items()], ignore_index=True) sheet_name 이라는 파라미터는 몇번째 시트를 읽을거냐 인데 따로 지정해주지 않으면 첫번째 시트를 읽기 때문에 전체를 읽어주기 위해선 None 으로 지정해줘야 한다. 그러나 이렇게 되면 데이터프레임 형태가 아닌 딕셔너리 형태가 되기 때문에 이를 concat 해줘..