데이터 세팅
a1 = [60, 84, 80]
a2 = [77, 62, 95]
a3 = [61, 97, 72]
# 2차원 배열
df_data = [a1, a2, a3]
other_data = [[1,10,100],[2,20,200],[3,30,300]]
cols = ["국어", "영어", "수학"]
rows = ['a','b','c']
df = pd.DataFrame(data=df_data, index=rows, columns=cols)
other = pd.DataFrame(data=other_data,index=rows,columns=cols)
연산 메소드
# 왼쪽 -> 오른쪽 더하기
df.add(other, axis='columns', level=None, fill_value=None)
# 오른쪽 -> 왼쪽 더하기
df.radd(other, axis='columns', level=None, fill_value=None)
# 왼쪽 -> 오른쪽 빼기
df.sub(other, axis='columns', level=None, fill_value=None)
# 오른쪽 -> 왼쪽 빼기
df.rsub(other, axis='columns', level=None, fill_value=None)
# 왼쪽 -> 오른쪽 곱하기
df.mul(other, axis='columns', level=None, fill_value=None)
# 오른쪽 -> 왼쪽 곱하기
df.rmul(other, axis='columns', level=None, fill_value=None)
# 왼쪽 -> 오른쪽 나눗셈
df.div(other, axis='columns', level=None, fill_value=None)
# 오른쪽 -> 왼쪽 나눗셈
df.rdiv(other, axis='columns', level=None, fill_value=None)
# 왼쪽 -> 오른쪽 나머지
display(df.mod(other, axis='columns', level=None, fill_value=None))
# 오른쪽 -> 왼쪽 나머지
display(df.rmod(other, axis='columns', level=None, fill_value=None))
# 왼쪽 -> 오른쪽 거듭제곱
display(df.pow(other, axis='columns', level=None, fill_value=None))
# 오른쪽 -> 왼쪽 거듭제곱
display(df.rpow(other, axis='columns', level=None, fill_value=None))
col = ['col1','col2']
row = ['row1','row2']
data1 = [[1,2],[3,4]]
data2 = [[5,6],[7,8]]
df1 = pd.DataFrame(data=data1)
df2 = pd.DataFrame(data=data2)
# 행렬곱
df1.dot(other=df2)
# col1 col2
# row1 Aa+bc Ab+Bd
# row2 Ca+Dc Cb+Dd
숫자 처리 방법
# 반올림
DataFrame.round(decimals=0, args, kwargs)
# 합계
DataFrame.sum(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, kwargs)
# 곱
DataFrame.prod(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, kwargs)
DataFrame.product(axis=None, skipna=None, level=None, numeric_only=None, min_count=0, kwargs)
# 절댓값
DataFrame.abs( )
# 전치
DataFrame.transpose(args, copy=False)
DataFrame.T(args, copy=False)
# 순위
DataFrame.rank(axis=0, method='average', numeric_only=None, na_option='keep', ascending=True, pct=False)
# 차이 [이산]
DataFrame.diff(periods=1, axis=0)
# 차이 [백분률]
DataFrame.pct_change(periods=1, fill_method='pad', limit=None, freq=None, kwargs)
# 누적 계산
DataFrame.expanding(min_periods=1, center=None, axis=0, method='single')
# 기간이동 계산
DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None, method='single')
# 그룹화 계산
DataFrame.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=NoDefault.no_default, observed=False, dropna=True)
# 지수가중함수
DataFrame.ewm(com=None, span=None, halflife=None, alpha=None, min_periods=0, adjust=True, ignore_na=False, axis=0, times=None, method='single')
댓글