Python pandas 라이브러리

판다스 연습 사이트
: 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.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(고밀도산점도)


댓글 쓰기

다음 이전