본문 바로가기

Data-Analysis/Pandas

Pandas(DataFrame)

 

DataFrame

-2차원 데이터 구조

-행(row), 열(column)으로 구성되어 있다.

각 열(column)애는 데이터 타입을 가진다.

*이름이란 열은 object, 나이라는 열은 int, 몸무게라는 열은 float타입을 가진다.

 

pd.DataFrame([[1, 2, 3], 
              [4, 5, 6], 
              [7, 8, 9]])
 

*기본 열이름은 0부터 시작하는 숫자 형태로 주어진다.

pd.DataFrame([[1, 2, 3], 
              [4, 5, 6], 
              [7, 8, 9]], columns=['가', '나', '다'])
 

*각 열의 이름을 지정해 줄 수 있다.

*columns 옵션을 지정해 줄때 하나의 컬럼을 지정해 주더라도 배열의 형태로 지정해 주어야 한다.

pd.DataFrame(s,columns=['이름'])
 

 

dictionary를 통한 생성도 가능하다

-편리한 점은 dictionary의 key 값이 자동으로 column 명으로 지정된다.

data = {
    'name': ['Kim', 'Lee', 'Park'], 
    'age': [24, 27, 34], 
    'children': [2, 1, 3]
}
pd.DataFrame(data)
 

*각 key의 값들의 개수가 같아야 한다. 다르면 error가 발생한다.(빈공간은 np.nan으로)

 

DataFrame의 속성

-DataFrame다음과 같은 속성값을 가진다.

    1. index(기본값 RangeIndex) 각 행을 인덱스로 지정함.
    2. columns: 열 이름
    3. values: numpy array 형식의 데이터 값
    4. dtypes: column 간 데이터 타입
    5. T: dataFrame 을 전치(Transpose )

 

*속성값에 접근할 때에는 ()를 붙이지 않는다.

 

 

*전치: 열이 행으로 행이 열로

 

index 지정해 주기

df2.index=list('abc')
df2

 

*각 행의 index를 지정해 줄 수 있다.

 

column 다루기

-하나의 열의 이름을 지정하여 열을 선택할 수 있다.

-한개의 열만 가져올 수 있으며, 1개의 열을 선택 할 경우 Series가 된다.

df2['name']

 

 

2개 이상의 columns를 선택하고 싶다면 fancy indexing을 사용한다

df2[['name','age']]

columns rename

df2.rename(columns={'name':'이름'})

 

*위의 경우 출력에선 바뀌었지만 원본 데이터(df2)에선 열의 이름이 바뀌지 않았다.

*inplace=True 옵션으로 변경사항을 바로 적용할 수있다.

df2.rename(columns={'name':'이름'},inplace=True)
df2
 

'Data-Analysis > Pandas' 카테고리의 다른 글

Pandas(데이터 구조 살펴보기)  (0) 2022.10.11
Pandas(Excel, CSV 파일 불러오기)  (1) 2022.10.11
Pandas(Series, Indexing)  (0) 2022.10.11