1. 데이터 프레임 생성
[소스]
import pandas as pd
from collections import OrderedDict #컬럼 순서를 지정하면서 데이터 프레임을 구성
friend_ordered_dict = OrderedDict(
[
('name', ['John', 'Nate', 'Kim']),
('age', [25, 30, 35]),
('job', ['student', 'teacher', 'mother']),
]
)
df = pd.DataFrame.from_dict(friend_ordered_dict)
[결과]
2. 행 조회하기
2-1. 첫번째, 두번째 인덱스만 조회할 경우
[소스]
df[1:3]
[결과]
인덱스 1부터 끝까지 조회하고 싶을때는 "df[1:]"과 같은 방법으로 사용하면 됩니다.
2-2. 인덱스 0번과 2번만 조회 할 경우
[소스]
df.loc[[0,2]]
[결과]
이처럼 인덱스를 따로 지정하여 필터링 할 수도 있습니다.
3. 열 조회하기
3-1. 컬럼명을 이용해 조회할 경우(두 가지 방법)
[소스 1]
df[['name','age']]
[결과 1]
[소스 2]
df.filter(items=['age','job'])
[결과 2]
3-2. 컬럼명에 'a'가 포함된 열만 추출할 경우
[소스]
df.filter(like ='a', axis=1)
[결과]
컬럼명 "job"의 경우 'a'가 포함되어 있지 않으므로 출력되지 않고 "name", "age" 컬럼만 선택해서 출력된 것을 확인할 수 있습니다. 그리고 axis=1의 의미는 열을 뜻합니다.
3-3. 정규표현식을 이용하여 컬럼명이 'b'로 끝나는 열만 추출할 경우
[소스]
df.filter(regex='b$', axis=1)
[결과]
3-4. 범위를 이용하여 열 값조회
[소스 1]
df[df.age > 25]
[결과 1]
[소스 2]
df.query('age > 25')
[결과]
4. 행과 열 동시 조회하기
4-1. 이름이 Nate이고 age가 25보다 큰 값의 행을 출력할 경우
[소스]
df[ ( df.age > 25 ) & ( df.name == 'Nate' ) ]
[결과]
4-2. 모든 행을 출력하되 열 인덱스가 0 ~ 1열 까지인 데이터를 출력하고자 할 경우
[소스]
df.iloc[:,0:2]
[결과]
4-3. 행인덱스 0~1, 열인덱스 0~1까지 출력할 경우
[소스]
df.iloc[0:2,0:2]
[결과]
4-4. 인덱스에 라벨('age'속성)을 이용하여 값 조회
[소스]
df.loc[0, 'age']
[결과]
4-5 필터링 하여 값 수정
[소스]
df.iloc[1, 2] = 'dev'
값을 수정할 경우 "df = df.log[0, 'age'] = 변경할 값" 을 입력하면 값을 수정할 수 있습니다.
또한 위와 같은 방법으로도 수정할 수 있습니다.
" df.iloc[1, 'job'] = 'dev' "와 같은 방법은 불가능 합니다. iloc는 int형으로만 검색할 수 있습니다.
[결과]
'프로그래밍 > Python' 카테고리의 다른 글
[Python Pandas] 7. 열 추가, 값 수정, 데이터 합치기 (734) | 2020.08.27 |
---|---|
[Python Pandas] 6. 행, 열 삭제 (723) | 2020.08.26 |
[Python Pandas] 4. 데이터프레임 CSV 파일 저장 (707) | 2020.08.20 |
[Python Pandas] 3. 데이터프레임 생성(Dictionaly , List) (751) | 2020.08.20 |
[Python Pandas] 2. Pandas 설치 및 파일 불러오기(csv, txt) (741) | 2020.08.19 |