Pandas DataFrame 생성
titanic_train.csv이라는 파일의 배 승객 데이터set이 있다. 이 데이터set을 pandas의 read_csv()함수로 읽어서 데이터분석을 할 수 있는 형태인 DataFrame으로 변환한다.
import pandas로 참조해야한다.
밑의 그림은 titanic_train.csv의 정보들이다.

import pandas as pd
ti_df=pd.read_csv('titanic_train.csv')
display(ti_df) # DataFrame 출력 (앞의 5행, 맨뒤5행 출력 나머지는 생략)
밑의 그림이 결과값이다. 앞의 5개행과 맨밑의 5개행을 제외한 나머지를 출력하는것이 기본값이다.
또한 dataFrame은 print()보다 display()로 해야 보기편하다
현재 DataFrame의 타입과 행,열을 확인하는 코드는 type(), shape을 사용하면된다.
print(type(ti_df)) #type
print(ti_df.shape) #행,열개수
"""결과
<class 'pandas.core.frame.DataFrame'>
(891, 12)
"""
head() : 함수안의 정수를 넣으면 맨앞의 행을 그 숫자만큼 보여준다.
- 기본값 5
tail() : head()와 비슷하지만 맨뒤의 행을 정수만큼 보여준다.
- 기본값 5
DataFrame slicing(슬라이싱)
예) display(ti_df[:6]) : 5행까지 보여준다.
index를 지정해서 조회하기
iloc.[index번호] 연산자를 사용하여 조회가능하다.
하지만 DataFrame에서 행이나 열을 하나만 추출(indexing)하면 Series type으로 변한다.
slicing은 dataFrame구조(2차원)이 유지되지만 indexing으로하면 1차원인 Series 구조로된다.
# display(ti_df[4]) index를 지정하는건 불가
display(ti_df.iloc[4]) #4행출력
display(ti_df[4:5]) # 똑같이 4행출력 슬라이싱
결과
위 그림처럼 iloc[]를 이용하여 indexing하면 1차원 구조로 출력되고, 슬라이싱으로 하면 2차원구조로 유지된상태로 출력된다.
DataFrame에서 한 열(column)만 추출하기
형식] DataFrame['열']
- series type으로 변환된다.
display(ti_df['Name']) # DataFrame에서 Name 열 추출
""" 결과
0 Braund, Mr. Owen Harris
1 Cumings, Mrs. John Bradley (Florence Briggs Th...
2 Heikkinen, Miss. Laina
3 Futrelle, Mrs. Jacques Heath (Lily May Peel)
4 Allen, Mr. William Henry
...
886 Montvila, Rev. Juozas
887 Graham, Miss. Margaret Edith
888 Johnston, Miss. Catherine Helen "Carrie"
889 Behr, Mr. Karl Howell
890 Dooley, Mr. Patrick
Name: Name, Length: 891, dtype: object
<class 'pandas.core.frame.DataFrame'>
"""
위코드처럼 1차원으로 출력이되고 Name의 열들이 나열되었다.
[]를 두개사용하면 1차원이 아닌 2차원으로 그대로 구조가 유지되어 출력된다.
#[] 2개사용하기 <-- DataFrame구조로 유지된다.
print(ti_df[['Pclass']])
print(type(ti_df[['Pclass']])) # type확인
"""결과
Pclass
0 3
1 1
2 3
3 1
4 3
.. ...
886 2
887 1
888 3
889 1
890 3
[891 rows x 1 columns]
<class 'pandas.core.frame.DataFrame'>
"""
그 외의 기본적인 함수
DataFrame.columns : 열의 제목 반환
DataFrame.info() : DataFrame의 기본정보 반환
'Python > 데이터 분석' 카테고리의 다른 글
Python Pandas 기초(2) (0) | 2023.09.27 |
---|