1번째 줄:
1번째 줄:
== 개요 ==
== 개요 ==
+
파생변수에 대해 다루는 문서.
+
dataframe의 평균, 합을 구한다든가 특정 연산을 수행해야 할 때가 있다. for문으로 일일이 할 수도 있지만, 효율이 그닥 좋진 않다.
dataframe의 평균, 합을 구한다든가 특정 연산을 수행해야 할 때가 있다. for문으로 일일이 할 수도 있지만, 효율이 그닥 좋진 않다.
93번째 줄:
95번째 줄:
|}
|}
−
= Dataframe 행간 연산 =
+
= Dataframe 조건 연산 =
+
+
=== numpy.where 사용 ===
{| class="wikitable"
{| class="wikitable"
!의도
!의도
102번째 줄:
106번째 줄:
|dataframe의 if 연산.
|dataframe의 if 연산.
간단하게 하려면 numpy가 필요하다.
간단하게 하려면 numpy가 필요하다.
−
다중조건인 경우 &으로 연결한다.
+
−
|df['over_5unit'] = np.where(df['1unit']>df['5unit'], True값, False값)
+
* 다중조건인 경우 <code>&</code>으로 연결한다.
+
* or인 <code>|</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, >, >= 등 일반적으로 사용하는 연산자 사용 가능.
+
+
조건에 외부변수를 사용하려면 @변수명 형태로 기입한다.
+
|
+
* df.query('조건') # 조건을 문자열 형태로 넣어야 한다. 조건은 일반 if문법을 따라간다.
+
*: 예시) <code>df.query('열이름 == 1')</code> # 해당 열에서 1 값을 갖는 행만 뽑아낸다.
+
* 외부 변수를 조건에 활용하려면 <code>df.query('열이름 == @외부변수명')</code> 형태로 @를 사용한다.
|}
|}
[[분류:Pandas:DataFrame]]
[[분류:Pandas:DataFrame]]