본문 바로가기
728x90
반응형

Programming/Python13

[Python] pandas 파일 로딩 속도 비교 (CSV vs. Pickle 포맷) [Python] Pandas 파일 로딩 속도 비교 (CSV vs. Pickle) 0. Motivation 시그널 프로세싱에 관련된 데이터를 분석하게 되었다. 어떤 시그널이 다양한 조건에서 시간에 따라 기록된 데이터를 분석하여, 네트워크 모델을 세우는 것이 목표이다. csv 파일로 저장된 많은 데이터가 내 앞에 떨어졌다. 얼핏 보니 데이터가 아주 엉망이다. 시그널을 기록한 시간의 간격이 일정하지 않고 제멋대로다. 설상가상으로 어떤 데이터셋은 중간에 중복되어 기록된 것들도 눈에 띈다. 모델링까지 가는 길이 쉽지는 않아 보인다. 데이터를 cleaning up 하는 코드를 먼저 만들어 보기로 했다. 그리고 정제된 데이터를 따로 저장하여, 앞으로의 분석에서 바로 이용할 수 있게 하는 것이다. 갑자기 궁금해졌다. .. 2021. 6. 2.
[Python] Pandas 'settingWithCopyWarning' 경고 메세지 없애기 증상 df2 = df[['A']] df2['A'] /= 2 df2 A 0 2.5 1 4.5 2 3.5 해결 방법 1. (recommended) Use loc to lice subsets df2 = df.loc[:, ['A']] df2['A'] /= 2 # Does not raise 2. pd.options.mode.chained_assignment 모드 변경 pd.options.mode.chained_assignment = None df2['A'] /= 2 3. Make a deepcopy df2 = df[['A']].copy(deep=True) df2['A'] /= 2 References stackoverflow.com/questions/20625582/how-to-deal-with-settingwit.. 2021. 5. 9.
[Python] Pandas sorting (오름/내림 정렬) 하기 우선 필요한 라이브러리를 import 한다. import pandas as pd import numpy as np [0, ... 9]의 배열로 pandas dataframe을 만들어 보자. 그리고 이것을 random shuffle을 이용해 섞어 본다. import random arr = np.arange(10) df = pd.DataFrame(data=arr, columns=['random_number']) print("before shuffle") display(df) random.shuffle(df.random_numbers) print("after shuffle") display(df) 섞기 전과 후의 모습이다 오름차순 정렬 (default: ascending=True) df.sort_values(.. 2021. 5. 1.
[Python] bound / unbound method란? (feat. static method) 이 포스팅의 핵심 포인트 bound 와 unbound method의 정의와 구분 ('self' argument) 클래스 밖에서 정의된 함수를 클래스의 매서드로 포함시키는 방법 static method의 정의와 사용법 bound method란? 클래스는 여러 멤버 함수들을 포함할 수 있다. 이 멤버 함수들은 공통적으로 'self'를 첫 번째 입력 인자를 가진다. 이것은 이 함수가 어떤 클래스에 속해 있는 method라는 것을 의미한다. 이것을 bound method라고 한다. 다음의 예제를 생각해 보자. 클래스 A는 bar라는 이름의 bound method를 가지고 있다. 객체를 생성해 bar 메서드에 접근해 보자. class A: def bar(self): print("bar") def foo(): pr.. 2021. 4. 29.
728x90
반응형