Pandas 기초 2편

1. dataframe

 

data table 전체를 나타내는 object

 

Series의 모임

 

row index 뿐만 아니라 column index도 가진다

 

각 column은 서로 다른 데이터 타입이 될 수 있다

 

기본적으로 “column_name:(data)” 형태의 dict type을 pd.DataFrame(dict,columns=[column명])에 넣어 만든다

 

etc-image-0
그림1. dataframe을 만드는 기본적인 방법

 

columns=에 특정 column만 지정할 수도 있고 새로운 column을 추가할수도 있다

 

raw_data에서 넣고 싶지 않은 column은 지정하지 않으면 데이터프레임에 안들어간다

 

물론 raw_data에 data가 없는 column명을 넣을 수도 있는데 그러면 데이터프레임에 NaN 들어감

 

etc-image-1
그림2. 데이터프레임 만들기 응용

 

데이터프레임에서 하나의 열만 선택하는 방법으로 df[(열이름)] 이나 df.(열이름)

 

Series로 추출

 

etc-image-2
그림3. 데이터프레임에서 열 하나를 추출

 

 

2. location indexing

 

기본적으로 loc는 index name을 넣고 iloc는 index position number를 넣음

 

etc-image-3
그림4. loc와 iloc 비교

 

loc는 indexname이 3인곳까지 출력함

 

iloc는 인덱스 넘버로 0,1,2까지 출력함

---------------------------------------------------------------------------------------------------------------------

 

column index도 당연히 loc의 경우는 index name으로 인덱싱해야함

 

etc-image-4
그림5. 행 indexing과 열 indexing 비교

 

0,1,2만 뽑아야한다고 생각할 수 있는데 loc[:3]을 해서 0번 행부터 index name이 3인 행까지 가져온거

 

-------------------------------------------------------------------------------------------------------------------

 

iloc는 column index에 index name 쓰면 error남

 

etc-image-5
그림6. index position이 1번인 행부터 쭈욱 가져온 모습

 

etc-image-6
그림7. index position number가 아니라 index name을 써서 에러난 모습

 

3. create column

 

새로운 column으로 debt를 만들고 싶으면 df.debt = df.age>40 같이 column에 데이터를 그대로 할당 가능

 

etc-image-7
그림8. debt 열을 만드는 예시

 

df.age>40인 instance에 대해 True를 debt에 넣고 <40이면 False를 debt에 넣고

 

------------------------------------------------------------------------------------------------------------------------------

 

etc-image-8
그림9. sex column을 만들어 series 데이터를 할당

 

4. save dataframe to csv

 

df.T는 transpose 시키고 df.values는 모든 instance를 출력

 

df.to_csv()로 데이터프레임을 csv로 변환

 

etc-image-9
그림10. 데이터프레임의 transpose, save 예시

 

 

728x90

'프로그래밍 > Pandas' 카테고리의 다른 글

Pandas 기초 6편  (0) 2021.11.25
Pandas 기초 5편  (0) 2021.11.25
Pandas 기초 4편  (0) 2021.11.24
Pandas 기초 3편  (0) 2021.11.24
Pandas 기초 1편  (0) 2021.11.23