"Pandas:DataFrame:데이터 조작"의 두 판 사이의 차이
둘러보기로 가기
검색하러 가기
(→수치조작) |
|||
100번째 줄: | 100번째 줄: | ||
|- | |- | ||
|특정 행 사이를 if연산 | |특정 행 사이를 if연산 | ||
− | |간단하게 하려면 numpy가 필요하다. | + | |dataframe의 if 연산. |
+ | 간단하게 하려면 numpy가 필요하다. | ||
다중조건인 경우 &으로 연결한다. | 다중조건인 경우 &으로 연결한다. | ||
|df['over_5unit'] = np.where(df['1unit']>df['5unit'], True값, False값) | |df['over_5unit'] = np.where(df['1unit']>df['5unit'], True값, False값) |
2023년 2월 1일 (수) 09:02 판
1 개요
dataframe의 평균, 합을 구한다든가 특정 연산을 수행해야 할 때가 있다. for문으로 일일이 할 수도 있지만, 효율이 그닥 좋진 않다.
2 수치조작
2.1 평균 구하기
의도 | 설명 | 방법 |
---|---|---|
행 평균 구하기 | 각 행 방향의 평균 구하기 | df.mean(axis=1) |
열 평균 구하기 | 각 열에 대한 평균을 구한다. | df.mean(axis=0) |
특정 열 평균 구하기 | df["열이름"].mean(axis=0) | |
특정 행의 특정 열에 대한 평균만 구하기 | 특정 행의 특정 데이터만 연산해서 새로운 열을 추가한다. | df['mean'] = df[['start', 'high', 'low', 'close']].mean(axis=1) |
2.2 각종 통계값
의도 | 설명 | 방법 |
---|---|---|
각 방향으로의 합을 구한다. | axis 옵션으로 방향을 지정한다.
0 : 칼럼 1 : 행 |
df.sum(axis=0) |
누적합 | df.cumsum(axis=0) | |
표준편차 구하기 | df.std(axis=0) | |
분산 구하기 | df.var(axis=0) | |
이외 다양한 함수를 제공하는데, 공식문서를 참고하자.
왜도 구하기. df.skew()
첨도 구하기. df.kurtosis()
2.3 행별 연산
의도 | 설명 | 방법 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
순위 구하기 | ascending은 점수가 낮을 때 상위.
|
df.rank(method='옵션', ascending=False) |
3 Dataframe 행간 연산
의도 | 설명 | 방법 |
---|---|---|
특정 행 사이를 if연산 | dataframe의 if 연산.
간단하게 하려면 numpy가 필요하다. 다중조건인 경우 &으로 연결한다. |
df['over_5unit'] = np.where(df['1unit']>df['5unit'], True값, False값)
# 1unit 행의 값이 5unit 행의 값보다 큰 때에만 True값을 넣는다. |