Data Analysis

[ Python ] 데이터

곽수진 2021. 9. 2. 19:48
반응형

데이터 변형

 

▶️ 특정 index의 value값을 바꾸고 싶을 때는 변수.index명 = 특정 값을 활용

 

 

▶️ 변수.drop('index명')을 활용하면 특정 index값과 value값을 제거할 수 있음

→ 하지만 영구적으로 사라지는 것은 아님. 변수를 출력해보면 index와 value값이 그대로 있는 것을 볼 수 있음

 

 

▶️ 영구적으로 제거하기 위해서는 변수 하나를 새로 생성해 변수.drop('index명')을 저장하면 출력했을 때 사라진 모습을 볼 수 있음

 

 

DataFrame

→ 2차원 행렬(Matrix)

 

 

 

 

▶️ pandas를 import 함

 

 

 

 

▶️ 사전형으로 데이터프레임을 만들어줌

▶️ df 변수에 pd.DataFrame(data)를 저장해줌

→ 보통은 cvs 파일이 있어서 read해서 가져옴

pd.read_csv('파일명')

 

 

▶️ df의 type을 확인해보면 DataFrame임을 확인할 수 있음

▶️ Pandas에서는 1차원 배열을 Series 자료구조라고 함

Series의 모음이 DataFrame임

 

 

  • 전치행렬(transpose)

▶️ 전치행렬을 표현하는 방법

 

 

▶️ 다시 일반 df을 출력했을 때, values값과 columns 값만 출력하는 방법은 아래와 같음

 

 

▶️ .values / .columns를 통해 value값과 column 값만 따로 모아서 출력할 수 있음

 

 

  • 변형

 

▶️ 위와 같은 DataFrame에서 column값 중 '2010-2015 증가율'만 따로 출력함

 

 

▶️ 0.0283 혹은 0.0163같은 수는 읽기가 불편하기 때문에 *100을 한 값으로 갱신하려고 함

df.columns = ['지역': '2015','2010','2005','2000','i_rate_2010_2015']으로도 표현이 가능하지만 column이 많은 경우에는 힘들기 때문에 지양

 

 

▶️ enumerate를 column값이 몇 번 index에 있는지 확인할 수 있음

 

 

  • column 이름 변경

▶️ 위 방법을 통해 몇 번 index에 있는지 확인한 후 df.columns.values[바꾸고자 하는 index의 번호] = '바꾸려고 하는 이름'을 입력하면 column이름을 바꿀 수 있음

 

 

  • 추가

▶️ a와 b의 증가율은 a-b/b로 표현할 수 있음

 

 

▶️ -1.342519와 -3.397990은 읽기 불편하므로 .round()로 소수점 수를 제한함

→ .round(2)는 소수점 둘째 자리까지만 표현함

 

 

▶️ 위와 같이 계산한 값을 i_rate_2005_2010 변수에 저장한 후 DataFrame에 저장 후 출력하면 column 하나가 새로 생성된 모습을 볼 수 있음

 

 

  • 삭제

▶️ df.drop('인덱스명',axis=0 혹은 1)을 통해 특정 index에 해당하는 열 혹은 행을 제거할 수 있음

→ axis=0은 행 기준, axis=1은 열 기준

⇒ i_rate_2010_2015를 기준으로 열이 지워진 모습

 

 

▶️ 다시 df을 출력해보면 저장된 것이 아니기 때문에 사라지지 않은 원래의 모습이 나타남

 

 

▶️ 위 방법뿐만이 아니라 index로도 삭제가 가능함

df.drop('1', axis=0)과 마찬가지임

 

 

  • 저장

▶️ 현재까지 만들었던 df을 엑셀에 저장하고자 함

 

 

▶️ df.to_excel('저장하고자 하는 이름.xlsx')를 출력하면 자동으로 같은 폴더에 저장됨

→ xlsx는 엑셀의 확장자명

 

 

Q.

엑셀 파일에 저장할 때, 오늘 날짜를 넣어서 저장하려면?

▶️ 지난번에 정리했더 datetime함수를 이용함

▶️ 오늘 일자를 today 변수에 저장한 후 엑셀 파일에 저장할 때는 인구정리_오늘 일자 이름으로 저장

 

 

반응형

'Data Analysis' 카테고리의 다른 글

파이차트 그리기  (0) 2021.09.02
MBTI 데이터 분석 프로그램  (0) 2021.09.02
[ Python ] 인덱싱  (0) 2021.09.02
[ Python ] 모듈  (0) 2021.09.02
[ Python ] 클래스  (0) 2021.09.02