목록pandas 10 minutes (8)
초보 개발자의 일기
변형 예시를 위한 튜플 생성 tuples = list(zip(*[['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'], ['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']])) tuples [('bar', 'one'), ('bar', 'two'), ('baz', 'one'), ('baz', 'two'), ('foo', 'one'), ('foo', 'two'), ('qux', 'one'), ('qux', 'two')] Multi Index 생성 index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second']) index MultiIndex(levels=..
그룹화 groupby 예시를 위한 데이터프레임 생성 df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C': np.random.randn(8), 'D': np.random.randn(8)} ) df 'A' 열을 기준으로 grouping.sum df.groupby('A').sum() 'A', 'B'열을 기준으로 grouping.sum df.groupby(['A', 'B']).sum() ※ 10 minutes to pandas를 바탕으로 한 학습 기록입니다 ※
병합 데이터프레임 간 결합이나 병합 형태의 연산을 말한다. Concat (데이터 합치기) 예시를 위해 데이터프레임을 생성한다. df = pd.DataFrame(np.random.randn(10, 4)) # 랜덤값으로 예시용 df 생성 df 데이터를 분할한다. pieces = [df[:3], df[3:7], df[7:]] pieces [ 0 1 2 3 0 -0.448821 -1.977129 1.611909 -2.037749 1 2.444068 -1.851920 1.410597 0.031063 2 0.090880 3.285175 -0.362880 -1.425051, 0 1 2 3 3 1.171016 -0.572153 -0.219454 -0.197718 4 0.075812 -0.574685 -0.397964 ..
연산 이진(Binary) 연산 Stats (통계 데이터) mean df1.mean(0) df1.mean()과 같다. (0은 열 기준, 1은 index 기준) : 평균값 A 0.135823 B 1.394061 C -0.523802 D -0.500769 F 2.750000 E 1.750000 E 1.750000 dtype: float64 shift # 예시용 Series 생성 s = pd.Series([1, 3, 5, np.nan, 6, 8]. index=dates) s 2013-01-01 1.0 2013-01-02 3.0 2013-01-03 5.0 2013-01-04 NaN 2013-01-05 6.0 2013-01-06 8.0 Freq: D, dtype: float64 shift로 값을 이동한다. s = ..
결측값 처리 결측값은 보통 np.nan으로 표시된다. 아래의 메소드는 대부분 원본을 변경하지 않는다. df1 = df.reindex(index=dates[0:4], columns=list(df.columns)+['E']) # 예시를 위한 df 변조 df1 데이터 삽입 df1.loc[dates[0]:dates[1], 'E'] = 1 df1 'E'열에 데이터를 삽입하여 NaN값을 줄인다. 행 삭제 df1.dropna(how='any') # df1.dropna(axis = 0)와 동일한 결과. 열 기준(axis = 1)도 가능 NaN값이 하나라도 있는 행들을 모두 삭제한다. df1.dropna(how='all')로 삭제하면 모두 NaN값인 행을 삭제한다. NaN값이 있는 자리에 Value 채우기 df1=df1..
데이터 선택 Getting 데이터 프레임의 단일 컬럼(column)을 선택하여 Series를 생성한다. ( ↓예시용 데이터 프레임) 열 인덱싱 df['A'] # column 인덱싱 - 인덱스도 함께 출력됨 2013-01-01 -0.824017 2013-01-02 -0.585061 2013-01-03 1.296661 2013-01-04 -1.111253 2013-01-05 0.963859 2013-01-06 -0.778794 Freq: D, Name: A, dtype: float64 행 인덱싱 데이터프레임명[시작행:종료행] : 종료행 이전까지 출력된다. df[0:3] # row 인덱싱 특정 행 값 인덱싱 데이터프레임명[시작행 인덱스 : 종료행 인덱스] : 종료행을 포함하여 출력된다. df['20130102..