728x90

 

Pandas에서 데이터를 가져오고 삭제해보자.


 

1. df.head( ) 


  
  import pandas as pd
  import numpy as np
  df = pd.read_excel("./data/example.xlsx")

  # 앞의 5개 데이터 출력
  df.head()
    

-> 기본적으로 5개의 데이터를 출력하며 숫자를 지정하여 원하는 개수만큼 출력할 수 있다.

 

 

2. df[ : ]


  
  # row인덱스 기준으로 3개의 데이터 출력 (0,1,2)
  df[:3]
    

-> row(행) 인덱스 기준으로 데이터를 출력한다. 

 

 

3. df["abc"]


  
  # account 컬럼의 앞 2개의 데이터 출력
  df["account"].head(2)
  

-> df의 account컬럼을 출력하며 앞의 2개의 데이터만 출력한다.

 

 

4. 이렇게도 할 수 있다.


  
  a = df["account"]
  a[:3]
  
  a = df["account"]
  a[[0,1,2]]
  

-> df의 account 컬럼을 a 변수에 대입하고 a의 0~2(0,1,2) 인덱스 번호의 데이터를 출력한다.

  두 개는 같은 결과를 출력한다.

 

 

5. df[ 조건 ] 


  
  # 조건에 맞는 데이터 출력
  account = df["account"]
  account[account<25000]
  

-> 조건에 맞는 시리즈를 출력한다.

 

 

6. df.index( )


  
  #ex1
  df.index = df["account"]

  #ex2
  df.index = list(range(0,15))
  

-> 데이터프레임의 기본 인덱스는 0부터~까지 자동으로 지정되나 임의로 지정할 수 있다.

-> ex1의 결과로, df의 인덱스 값을 account컬럼값으로 변경했다.

  또는 ex2는 range를 사용하여 순차적으로 숫자를 인덱스값으로 지정한 것이다.

 

 

7. 다양한 방법 사용하여 조회하기


7-1. 컬럼의 이름과 인덱스 번호를 지정하여 출력

  
  df[["name","street"]][:2]
    



7-2. 인덱스의 값과 컬럼 이름을 지정하여 출력

  
  df.loc[[21111,32222],["name","street"]]
    



7-3. iloc 사용해서 인덱스 번호로만 출력

  
  df.iloc[:2,:2]
    

 

 

8. 데이터 삭제하기 ( df.drop(row number) )


  
  # ex1
  df.drop(1)

  # ex2
  df.drop([0,1,2,3])

  # ex3 축 기준, axis=1을 꼭 넣어주어야함
  df.drop("city", axis=1)
  df.drop(["city","state"], axis=1)
  

-> .drop을 사용하여 컬럼을 삭제한다. 

    row number를 기준으로 삭제하며 axis를 지정하여 축 기준으로 삭제할 수도 있다.

 

 

9. 주의할 점


Pandas에서는 원본 데이터를 쉽게 삭제하지 않는다.

drop을 사용할 경우 데이터프레임 원본 데이터가 삭제되는 것이 아니라 데이터프레임의 복사본을 만든 후 그 복사본의 데이터를 삭제하여 보여준 것이다.

원본 데이터를 변환하고 싶으면 inplace argument를 지정해주어야 한다.

  
  df.drop(["city","state"], axis=1, inplace=True)
    

 

 

 

 

 

출처 : 부스트코스 인공지능(AI) 기초 다지기

 

[AI Tech Pre-course] 인공지능(AI) 기초 다지기

부스트코스 무료 강의

www.boostcourse.org

 

 

 

 

728x90

'Python > Pandas' 카테고리의 다른 글

[Pandas 기초] Pandas와 함수  (0) 2021.06.16
[Pandas 기초] Pandas의 DataFrame  (2) 2021.06.12
[Pandas 기초] Pandas 라이브러리  (2) 2021.06.11
댓글
250x250
최근에 올라온 글
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Total
Today
Yesterday