DataFrame 생성 방법
list이용
1 2 3 4 5
   |  import pandas as pd
  frame = pd.DataFrame([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) frame
 
  | 
 
 
출력
  
    
       | 
      0 | 
      1 | 
      2 | 
    
  
  
    
      | 0 | 
      1 | 
      2 | 
      3 | 
    
    
      | 1 | 
      4 | 
      5 | 
      6 | 
    
    
      | 2 | 
      7 | 
      8 | 
      9 | 
    
  
 
 
Dictionary 이용
1 2 3 4 5 6 7 8 9 10 11
   | import pandas as pd
  data = {     'age' : [20,39,41],     'height' : [176, 182, 180],     'weight' : [73, 78, 69] } indexName = ['사람1', '사람2', '사람3']
  frame = pd.DataFrame(data, index = indexName) frame
   | 
 
 
출력
  
    
       | 
      age | 
      height | 
      weight | 
    
  
  
    
      | 사람1 | 
      20 | 
      176 | 
      73 | 
    
    
      | 사람2 | 
      39 | 
      182 | 
      78 | 
    
    
      | 사람3 | 
      41 | 
      180 | 
      69 | 
    
  
 
 
Sample Dataset 가져오기
위처럼 직접 DataFrame을 만드는 것이 아닌 제공하는 Dataset을 직접 가져오는 방법도 있다.
Dataset을 가져오는 방법은 다음과 같다.
- Dataset Github에 접속하고 가져오고싶은 데이터셋을 고른다.
 
- 예를들어 
flights.csv 를 가져오고 싶다면1 2 3 4
   | import seaborn as sns flights = sns.load_dataset("flights")  flights.head(5)  flights["year"] 
   | 
 
위와 같이 제공되는 데이터셋을 가져올 수 있다. 
DataFrame 조회 방법
기본적인 조회 방법
DataFrame의 기본적인 조회 방법은 다음과 같다.
 
출력
  
    
       | 
      year | 
      month | 
      passengers | 
    
  
  
    
      | 0 | 
      1949 | 
      Jan | 
      112 | 
    
    
      | 1 | 
      1949 | 
      Feb | 
      118 | 
    
    
      | 2 | 
      1949 | 
      Mar | 
      132 | 
    
    
      | 3 | 
      1949 | 
      Apr | 
      129 | 
    
    
      | 4 | 
      1949 | 
      May | 
      121 | 
    
  
 
   
이 때 .head()의 괄호 안에 숫자가 있다면 그 수의 개수만큼 데이터가 출력된다.
 
출력
  
    
       | 
      year | 
      month | 
      passengers | 
    
  
  
    
      | 139 | 
      1960 | 
      Aug | 
      606 | 
    
    
      | 140 | 
      1960 | 
      Sep | 
      508 | 
    
    
      | 141 | 
      1960 | 
      Oct | 
      461 | 
    
    
      | 142 | 
      1960 | 
      Nov | 
      390 | 
    
    
      | 143 | 
      1960 | 
      Dec | 
      432 | 
    
  
 
   
.tail()역시 마찬가지로 괄호안에 숫자가 있다면 수의 개수만큼 데이터가 출력된다.
데이터프레임의 인덱스를 표시하는 방법도 있다.
RangeIndex(start=0, stop=144, step=1)
열(Column) 조회 방법
1 2 3 4 5 6 7 8 9 10
   |  print ("* 열 조회 - 1") print (frame['age']) print ("* 열 조회 - 2") print(frame.age)
 
  print("* 특정 열 의 특정 값 조회") print(frame['age'][1]) print(frame.height[2])
 
  | 
 
 
출력
* 열 조회 - 1
사람1    20
사람2    39
사람3    41
Name: age, dtype: int64
* 열 조회 - 2
사람1    20
사람2    39
사람3    41
Name: age, dtype: int64
* 특정 열 의 특정 값 조회
39
180
 
행(Row) 조회
행 조회는 열 조회와 조금 다르게 loc와 iloc를 사용해서 조회 할 수 있다.
여기서 loc는 사람이 읽을 수 있는 라벨 값으로 특정 값들을 골라오는 방법이고,
iloc는 행이나 칼럼의 순서를 나타내는 정수로 특정 값을 추출하는 방법이다.
1 2 3 4 5
   |  print("* loc 특정 행 조회") print(frame.loc['사람1'])
 
 
 
  | 
 
 
출력
* 특정 행 조회
age        20
height    176
weight     73
Name: 사람1, dtype: int64
loc를 Seq로 조회할 경우
 
1 2 3 4 5
   |  print("* iloc 특정 행 조회") print(frame.iloc[0])
 
 
 
  | 
 
 
출력
* iloc 특정 행 조회
age        20
height    176
weight     73
Name: 사람1, dtype: int64
 
DataFrame 수정 방법
열(Column) 추가하기
gender 라는 컬럼을 추가합니다.
1 2
   | frame_add_col = pd .DataFrame(frame,columns= ['age','height','weight','gender']) frame_add_col
   | 
 
 
출력
  
    
       | 
      age | 
      height | 
      weight | 
      gender | 
    
  
  
    
      | 사람1 | 
      20 | 
      176 | 
      73 | 
      NaN | 
    
    
      | 사람2 | 
      39 | 
      182 | 
      78 | 
      NaN | 
    
    
      | 사람3 | 
      41 | 
      180 | 
      69 | 
      NaN | 
    
  
 
   
컬럼이 추가되었고 어떠한 값도 넣어주지 않았으므로 NaN 값이 출력되고있다.
이제 데이터를 입력해준다.
1 2
   | frame_add_col['gender'] = ['male', 'male', 'female'] frame_add_col
   | 
 
 
출력
  
    
       | 
      age | 
      height | 
      weight | 
      gender | 
    
  
  
    
      | 사람1 | 
      20 | 
      176 | 
      73 | 
      male | 
    
    
      | 사람2 | 
      39 | 
      182 | 
      78 | 
      male | 
    
    
      | 사람3 | 
      41 | 
      180 | 
      69 | 
      female | 
    
  
 
 
행(Row) 추가하기
1 2 3
   | frame_add_index = frame_add_col.copy() frame_add_index.loc['사람4'] = [31, 158, 48, 'female'] frame_add_index
   | 
 
 
출력
  
    
       | 
      age | 
      height | 
      weight | 
      gender | 
    
  
  
    
      | 사람1 | 
      20 | 
      176 | 
      73 | 
      male | 
    
    
      | 사람2 | 
      39 | 
      182 | 
      78 | 
      male | 
    
    
      | 사람3 | 
      41 | 
      180 | 
      69 | 
      female | 
    
    
      | 사람4 | 
      31 | 
      158 | 
      48 | 
      female | 
    
  
 
 
행, 열 삭제하기
drop 메소드를 사용하면 행 또는 열을 삭제할 수 있다.
axis 값은 행이면’0’, 열이면 ‘1’로 지정해주면 된다.
1 2
   | print('remove age column') frame_add_col.drop("height", axis=1)
  | 
 
 
출력
remove age column
  
    
       | 
      age | 
      weight | 
      gender | 
    
  
  
    
      | 사람1 | 
      20 | 
      73 | 
      male | 
    
    
      | 사람2 | 
      39 | 
      78 | 
      male | 
    
    
      | 사람3 | 
      41 | 
      69 | 
      female | 
    
  
 
   
그러나 이 경우 기존에 있던 frame_add_col에서 삭제되는게 아니라 삭제된 상태의 프레임을 리턴해준 것이다.
그러므로 기존 프레임에 적용하기 위해서 inplace = True 옵션을 추가로 주어야 한다.
1 2
   | frame_add_index.drop('사람2', axis=0, inplace = True) frame_add_index
  | 
 
 
출력
  
    
       | 
      age | 
      height | 
      weight | 
      gender | 
    
  
  
    
      | 사람1 | 
      20 | 
      176 | 
      73 | 
      male | 
    
    
      | 사람3 | 
      41 | 
      180 | 
      69 | 
      female | 
    
    
      | 사람4 | 
      31 | 
      158 | 
      48 | 
      female | 
    
  
 
 
  
  
  
  
References