목록전체 글 (73)
초보 개발자의 일기
그룹화 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 ..
3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 나의 제출 - Python ..
연산 이진(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..