1번째 줄: |
1번째 줄: |
| == 개요 == | | == 개요 == |
| + | 파생변수에 대해 다루는 문서. |
| + | |
| dataframe의 평균, 합을 구한다든가 특정 연산을 수행해야 할 때가 있다. for문으로 일일이 할 수도 있지만, 효율이 그닥 좋진 않다. | | dataframe의 평균, 합을 구한다든가 특정 연산을 수행해야 할 때가 있다. for문으로 일일이 할 수도 있지만, 효율이 그닥 좋진 않다. |
| | | |
93번째 줄: |
95번째 줄: |
| |} | | |} |
| | | |
− | = Dataframe 행간 연산 = | + | = Dataframe 조건 연산 = |
| + | |
| + | === numpy.where 사용 === |
| {| class="wikitable" | | {| class="wikitable" |
| !의도 | | !의도 |
103번째 줄: |
107번째 줄: |
| 간단하게 하려면 numpy가 필요하다. | | 간단하게 하려면 numpy가 필요하다. |
| | | |
− | * 다중조건인 경우 &으로 연결한다. | + | * 다중조건인 경우 <code>&</code>으로 연결한다. |
| + | * or인 <code>|</code> 도 사용 가능. |
| * 중첩조건은 엑셀처럼 작성하면 된다. | | * 중첩조건은 엑셀처럼 작성하면 된다. |
| |<code>df['over_5unit'] = np.where(df['1unit']>df['5unit'], True값, False값)</code> | | |<code>df['over_5unit'] = np.where(df['1unit']>df['5unit'], True값, False값)</code> |
| <nowiki>#</nowiki> 1unit 행의 값이 5unit 행의 값보다 큰 때에만 True값을 넣는다. | | <nowiki>#</nowiki> 1unit 행의 값이 5unit 행의 값보다 큰 때에만 True값을 넣는다. |
| | | |
| + | <code>df['열'] = np.where(조건, 참, np.where(조건, 참2, 거짓))</code> |
| + | |- |
| + | |다중연산 |
| + | |특정 범주 안에 들어있는가 파악하기. |
| + | |<syntaxhighlight lang="python"> |
| + | 변수 = np.where( |
| + | (df['category'] == '값1') | (df['category'] == '값2') | ... , '참값', '거짓값') |
| + | </syntaxhighlight>위 형태로는 너무 코드가 길어져서... 아래와 같이 축약하곤 한다.<syntaxhighlight lang="python"> |
| + | 변수 = np.where( |
| + | df['category'].isin([값1, 값2, ...]) , '참값', '거짓값') |
| + | </syntaxhighlight> |
| + | |} |
| + | |
| + | === dataframe 행 추출(조건 추출) === |
| + | df.query() 활용. |
| + | {| class="wikitable" |
| + | !의도 |
| + | !설명 |
| + | !방법 |
| + | |- |
| + | |조건 추출 |
| + | |특정 조건에 해당하는 데이터프레임의 행을 추출한다. |
| + | |
| + | &, |, in, >, >= 등 일반적으로 사용하는 연산자 사용 가능. |
| | | |
− | <code>df['열'] = np.where(조건, 참, np.where(조건, 참2, 거짓))</code> | + | 조건에 외부변수를 사용하려면 @변수명 형태로 기입한다. |
| + | | |
| + | * df.query('조건') # 조건을 문자열 형태로 넣어야 한다. 조건은 일반 if문법을 따라간다. |
| + | *: 예시) <code>df.query('열이름 == 1')</code> # 해당 열에서 1 값을 갖는 행만 뽑아낸다. |
| + | * 외부 변수를 조건에 활용하려면 <code>df.query('열이름 == @외부변수명')</code> 형태로 @를 사용한다. |
| |} | | |} |
| [[분류:Pandas:DataFrame]] | | [[분류:Pandas:DataFrame]] |