판다스 연습 사이트
: https://www.machinelearningplus.com/python/101-pandas-exercises-python/
: https://www.machinelearningplus.com/python/101-pandas-exercises-python/
pandas
pandas 데이터 구조
- 1차원: Series
- 2차원: DataFrame
pd.Series(values, index= )
s1 = pd.Series([10, 20, 30, 40])
s1 = pd.Series({'국어': 100, '영어': 95, '수학': 90})
# Series는 1차원이므로 딕셔너리 key값은 인덱스가 된다.
s1.values
s1.index
pd.DataFrame(values, index=index, columns=columns)
pd.DataFrame( 이중리스트 )
# df2 = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
pd.DataFrame( 딕셔너리 )
# DaraFrame에서 딕셔너리 key값은 컬럼이 된다.
df1.columns
기타
- 출력값 조정 (리셋: np.nan)
- np.set_printoptions(threshold=6, suppress=True, precision=6)
DataFrame 요약정보
df1.shape
df1.info()
df1.info()
df1.count()
# 데이터 갯수df1[컬럼].value_counts()
# 중복 값 개수DataFrame 연산
+ - * /
- df1 + df2
- index와 column이 일치하는 것끼리 연산한다.
- 해당하지 않는 값들은 NaN으로 채워진다.
평균, 표준편차, 기본통계치
- df1.mean(axis=)
- df1.std(axis=)
- axis=0/1
- 0: 가로, 1: 세로
index, column 변경/삭제
df.rename(index={'Before':'After'}, columns={'Before':'After'})
df.drop(인덱스 또는 컬럼, axis=0, inplace=True)
DataFrame 슬라이싱
열부터: df[2:5] df[[2],[5]] df[[2, 5]] / df[' '] #열 1개
행부터: df.loc[' ' : ' '] / df.iloc[2:5]
DataFrame 복사/합치기
df.copy()
pd.concat([df1, df2], axis=0)
df1.merge(df2, how=, on=)
df1.merge(df2, how='left', on='key')
how: left / right / inner
DataFrame 파일 입출력
pd.read_csv(), pd.read_excel()
pd.read_csv( '파일명.txt', sep=" " )
#텍스트 파일에서 구분자 지정
pd.read_csv( '파일명.txt' ).columns
#가져오기 전에 열 확인
pd.read_csv( '파일명.csv', index_col="연도" )
#특정 열을 인덱스로 적용
df1.to_csv(), df1.to_excel()
df1.to_csv( '파일명.csv', encoding='utf-8-sig', index=False )
DataFrame 그래프
- x 축: index
- y 값: value
- 그래프: column
df2.plot( kind = ' ')
- bar
- 막대그래프
- values 타입이 int여야 함
- hist
- 히스토그램 (값의 빈도)
- values 타입이 float여야 함
- line(선), kde(커널), area(면적), barh(수평막대), pie(원형), scatter(산점도), box(박스플롯), hexbin(고밀도산점도)
Tags:
AI개발_교육