[python] 딕셔너리에서 최댓값 value를 갖는 key 찾기
최댓값 value를 갖는 key 찾기 최댓값을 찾을 때는 항상 max함수를 기억하자. 예시 코드 max_key = max(dict, key=dict.get) 이렇게 하면 value값이 최대인 key를 찾을 수 있다.
최댓값 value를 갖는 key 찾기 최댓값을 찾을 때는 항상 max함수를 기억하자. 예시 코드 max_key = max(dict, key=dict.get) 이렇게 하면 value값이 최대인 key를 찾을 수 있다.
situation 판다스로 작업한 후 csv파일로 저장하는 일이 종종 있다. 그럴 때 언어가 한글일 경우 깨지는 경우가 있는데 보통은 encoding = 'utf-8' 로 한다고 하지만 이렇게 해도 깨지는 경우가 있다. solution encoding='utf-8-sig' 혹은, 'ms-949'로 하면 해결 된다.
df.rename(columns = {'A':'a', 'B':'b'}, inplace=True)
multi index 피하기 groupby를 쓰면 기본적으로 멀티인덱스가 생성된다. 이 멀티인덱스가 groupby한 후의 전처리를 방해하므로 추후 작업이 남아있다면 멀티인덱스를 생성하는 파라미터를 False로 지정해주는 게 좋다. 예시 코드 'as_index = False' 라는 파라미터를 추가해주자.
특정 문자열 포함하는 행 제거하기 전처리를 하다보면 특정 문자열을 포함하는 행 전체를 제거할 일이 많다. 문자열 관련 전처리는 dataframe.str 으로 대부분 해결 되는데 오늘은 str.contains 를 이용해보자. str.contains 사용하기 dfresult = df[~df['Time'].str.contains("2021-03-01", na=False, case=False)] "2021-03-01"
여러 시트 한 번에 읽기 pandas로 excel을 읽을 경우, read_excel 이라는 함수를 쓰게 된다. 만약 백만행이 넘어가 sheet1, sheet2, ... 까지 쓰여있다면 어떻게 해야 할까? 우리가 흔히 쓰는 것 처럼 pd.read_excel()를 쓴다면 sheet1에 있는 데이터만 읽어진다. 따라서 read_excel함수의 파라미터 중 sheet_name = None 을 추가해주면 모든 시트를 읽을 수 있다. 그러나 sheet_name = None 의 원리는 key: sheet1, value: 모든 데이터와 같아서 데이터 프레임으로써 쓸 수 없기 때문에 concat으로 한번 더 묶어줘야 한다. 예제 코드 df = pd.concat([value.assign(sheet_source=key) f..