반응형
# 데이터프레임에서 다른 데이터프레임과 병합
df4 = 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)})
pd.merge(df, df4, on='A')
# 인덱스 확인
df.index
# 컬럼 확인
df.columns
# 데이터프레임에서 값만 확인
df.values
# 데이터프레임에서 describe() 함수 사용
df.describe()
# 데이터 정렬
df.sort_values(by='B', ascending=False)
# 컬럼 선택
df['A']
# 행 선택
df[0:3]
# 라벨을 이용하여 행 선택
df.loc[dates[0]]
# 라벨과 컬럼을 이용하여 값 선택
df.loc[dates[0], 'A']
# 행과 열의 번호를 이용하여 값 선택
df.iloc[3]
# 조건을 이용하여 값 선택
df[df['A'] > 0]
# 데이터프레임 복사
df2 = df.copy()
df2
# 데이터프레임에서 NaN 값을 다른 값으로 채우기
df2 = df.copy()
df2['E'] = ['one', 'one','two','three','four','three']
df2[df2['E'].isin(['two','four'])] = np.nan
df2.fillna(value=5)
# 데이터프레임에서 통계 계산
df.mean()
# 데이터프레임에서 조건에 맞는 값 변경
df.at[dates[0],'A'] = 0
df.iat[0,1] = 0
df
# 데이터프레임에서 조건에 맞는 행 변경
df.loc[:,'D'] = np.array([5] * len(df))
df
# 데이터프레임에서 조건에 맞는 값 변경 (where 함수 이용)
df2 = df.copy()
df2[df2 > 0] = -df2
df2.where(df2 > 0, -df2)
# 데이터프레임에서 중복값 제거
df2 = pd.DataFrame({'A': ['one', 'one', 'two', 'two', 'three', 'four', 'four'],
'B': ['A', 'A', 'B', 'B', 'C', 'C', 'D'],
'C': np.random.randn(7)})
df2.drop_duplicates(subset=['A', 'B'])
# 데이터프레임에서 피벗테이블 생성
df5 = pd.DataFrame({'A': ['one', 'one', 'two', 'three'] * 3,
'B': ['A', 'B', 'C'] * 4,
'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 2,
'D': np.random.randn(12),
'E': np.random.randn(12)})
pd.pivot_table(df5, values='D', index=['A', 'B'], columns=['C'])
# 데이터프레임에서 시계열 데이터 다루기
rng = pd.date_range('1/1/2021', periods=100, freq='S')
ts = pd.Series(np.random.randint(0, 500, len(rng)), index=rng)
ts.resample('5S').sum()
# 데이터프레임에서 컬럼명 정렬하기
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)})
df.sort_values(by=['A', 'B'])
# 데이터프레임에서 컬럼 삭제하기
df = pd.DataFrame(np.random.randn(6, 4), columns=['A', 'B', 'C', 'D'])
df.drop(columns=['B', 'C'])
# 데이터프레임에서 특정 값 포함하는 행 선택
df = pd.DataFrame({'A': ['foo', 'bar', 'baz', 'qux'],
'B': ['one', 'one', 'two', 'two'],
'C': [1, 2, 3, 4]})
df[df['A'].str.contains('oo')]
반응형
'study > python' 카테고리의 다른 글
코테에서 자주 쓰는 파이썬 문법 - 자료형,리스트 합치기 (2) | 2024.01.03 |
---|---|
코테를 위한 파이썬 문법 공부 - range, eval (2) | 2024.01.01 |
Sympy (0) | 2020.12.17 |
반복자와 생성자 (0) | 2020.12.17 |
람다 함수 (0) | 2020.12.17 |