728x90
반응형

데이터 프레임, 시리즈 데이터 찾는 방법

1️⃣ 인덱싱/슬라이싱

.loc(명시적) : 명시적인 인덱스를 참조하는 인덱싱/슬라이싱

country.loc['china'] # 인덱싱 => 인덱스가 china인 데이터를 구하라
country.loc['japan':'korea', :'population'] # 슬라이싱

 

 

 .iloc(암묵적) : 파이썬 스타일의 정수 인덱스 인덱싱/슬라이싱(암묵적인 순서에 따라 값을 추출)

country.iloc[0] # 인덱싱
country.iloc[1:3, :2] # 슬라이싱

 

2️⃣ 컬럼 선택

컬럼명 활용하여 DataFrame에서 데이터 선택 가능

데이터 프레임에서 일부를 잘라내면 시리즈임

country
country['gdp'] # 시리즈
country[['gdp']] # 데이터 프레임

 

3️⃣ 조건 활용

Masking 연산이나 query 함수를 활용하여 조건에 맞는 DataFrame 행 추출 가능

ountry[country['population'] < 10000] # masking 연산 활용
country.query("population > 100000") # query 함수 활용

데이터 변경하기

1️⃣ 컬럼 추가

Series도 numpy array처럼 연산자 활용 가능

gdp_per_capita = country['gdp'] / country['population']
country['gdp per capita'] = gdp_per_capita

 

2️⃣ 데이터 추가/수정

리스트로 추가 or 딕셔너리로 추가

df = pd.DataFrame(columns = ['이름', '나이', '주소']) # 데이터프레임 생성(뚜껑만 생성)
df.loc[0] = ['길동', '26', '서울'] # 리스트로 데이터 추가
df.loc[1] = {'이름':'철수', '나이':'25', '주소':'인천'} # 딕셔너리로 데이터 추가
df.loc[1, '이름'] = '영희' # 명시적 인덱스 활용하여 데이터 수정

 

3️⃣ NaN 컬럼 추가

NaN값으로 초기화 한 새로운 컬럼 추가

f['전화번호'] = np.nan # 새로운 컬럼 추가 후 초기화
df.loc[0, '전화번호'] = '01012341234' # 명시적 인덱스 활용하여 데이터 수정

 

4️⃣ 컬럼 삭제

DataFrame에서 컬럼 삭제 후 원본 변경

df.drop('전화번호', axis = 1, inplace = True) # 컬럼 삭제
# axis = 1 : 열 방향 / axis = 0 : 행 방향
# inplace = True : 원본 변경 / inplace = False : 원본 변경 X
반응형

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

Pandas 집계함수  (0) 2021.09.29
Pandas 데이터프레임 정렬  (0) 2021.09.28
Pandas 데이터 프레임  (0) 2021.09.24
Pandas와 Series 데이터란?  (0) 2021.09.23
Numpy 배열의 속성  (0) 2021.09.14
복사했습니다!