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 |