1. 데이터 확인
1-1 데이터 조회
head () 앞 부분
tail () 뒷 부분 조회
해당 함수들로 가장 앞과 뒤의 데이터를 원하는 갯수만큼 확인할 수 있음. 갯수를 지정하지 않을 경우 default옵션으로 5개부터 조회된다.
df.head(3) #앞의 3개의 행 조회
df.tail(3) #뒤의 3개의 행 조회
1-2 컬럼 정보 확인
info ()
컬럼별로 정보를 확인하고자 할 때 사용(인덱스, 컬럼명, 컬럼의 데이터 개수, 데이터 타입, null값 확인)
value_counts()
column 별 값의 분포를 확인할 때 사용
df['column'].value_counts()
1-3 데이터프레임 속성 확인
- Index: 데이터프레임 또는 시리즈의 각 행 또는 각 요소에 대한 식별자
- dtypes: 컬럼별로 데이터 속성을 확인하고자 할 때 활용
- columns: 데이터 프레임의 열을 나타냄.
1. 고유한 이름을 가지고 있고, 해당 컬럼의 데이터를 식별하는데 사용
2. 특정한 종류의 데이터를 담고 있고 숫자, 문자열, 날짜 등 다양한 유형의 데이터를 포함할 수 있음
3. 시리즈 객체로 구성되어 있으며, 시리즈는 동일한 데이터 유형을 가진 1차원 배열과 유사함
4. 데이터프레임의 일부로 간주되며, 해당 열의 데이터를 조작하고 접근할 수 있는 인터페이스를 제공
2. 데이터 합치기
2-1 Concat
- 2개 이상의 DataFrame을 행 혹은 열 방향으로 연결
2-2 Merge
- 2개의 DataFrame은 특정 Key를 기준으로 병합할 때 활용하는 메서드이다.
2-3 Rename()
컬럼명을 딕셔너리 형태로 입력하여, 컬럼명 변경
2. 데이터 조건 필터, 정렬, 변경
2-1 데이터 조회
- iloc는 정수 기반의 인덱스를 사용, loc는 레이블 기반의 인덱스를 사용
(1) iloc인덱스 번호로 선택하기
#Indexing
df.iloc[1, 3] # 35.0
# Fancy Indexing
df.iloc[[0, 3, 4], [0, 1, 5, 6]]
# Slicing
df.iloc[:3, :5]
(2) loc 이름으로 선택하기
인덱스 번호가 아니라, 특정 문자일 경우
data.loc['행이름', '컬럼명']
# Indexing
df.loc[5, 'class']
# Fancy Indexing
df.loc[2:5, ['age', 'fare', 'who']]
# 한 개의 컬럼 전체를 선택. 리스트 슬라이싱을 활용
df.loc[:6, 'class':'deck']
(3) loc - 조건필터
- boolean indexing을 만들어 조건에 맞는 데이터만 추출
cond = (df['age'] >= 70)
cond # True/False로 결과값
df.loc[cond] #True인 행만 필터링
# 나이 컬럼만 가져오기
df.loc[cond, 'age']
#조건 필터 후 원하는 값을 대입 가능
df.loc[cond, 'age'] = -1
(4) loc - 다중조건
# 조건1 정의
cond1 = (df['fare'] > 30)
# 조건2 정의
cond2 = (df['who'] == 'woman')
df.loc[cond1 & cond2]
df.loc[cond1 | cond2]
(5) isin()
시리즈나 데이터프레임의 값들 중에서 특정 값이나 리스트 안에 포함된 값들을 찾아내는 메소드.
sample = pd.DataFrame({'name': ['kim', 'lee', 'park', 'choi'],
'age': [24, 27, 34, 19]
})
sample['name'].isin(['kim', 'lee']) # True/False 칼럼
condition = sample['name'].isin(['kim', 'lee'])
sample.loc[condition]
(6) select_dtypes()
열에 포함된 데이터들을 type 기준으로 인덱싱함.
select_dtypes(include=None, exclude=None) 형태를 가지며, include에 넣은값을 포함하고
exclude에 넣은 값을 제외한 columns(열)을 DaraFrame 형태로 반환한다.
# include 사용
df.select_dtypes(include=[float,bool])
# exclude 사용
df.select_dtypes(exclude=['int64'])
# 혼합 사용
df.select_dtypes(include =[float,object], exclude=['int64'])
'PYTHON' 카테고리의 다른 글
데이터 전처리를 위한 - 판다스(Pandas) 기초 (3) | 2024.12.18 |
---|---|
241209 TIL 파이썬 1주차 강의 정리 (1) | 2024.12.09 |