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다음과 같은 속성값을 가진다.
-
- index(기본값 RangeIndex) 각 행을 인덱스로 지정함.
- columns: 열 이름
- values: numpy array 형식의 데이터 값
- dtypes: column 간 데이터 타입
- 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 |