조건을 충족하는 값 추출
데이터 프레임에서, 각 컬럼마다 조건을 충족하는 값만 추출할 수 있습니다.
Numpy의 마스킹 연산처럼 조건식을 직접 쓸 수도 있고, query() 함수를 이용하는 방법도 있습니다.
실습을 위해 컬럼 A, B를 가진 2차원의 데이터프레임을 생성하여 df에 저장해두었습니다.
데이터 프레임내에서 원하는 데이터를 조건을 주어 검색하는 방법을 배우고, 실습 문제를 해결해봅시다.
import numpy as np
import pandas as pd
print("Masking & query")
df = pd.DataFrame(np.random.rand(5, 2), columns=["A", "B"])
print(df, "\n")
# 데이터 프레임에서 A컬럼값이 0.5보다 작고 B컬럼 값이 0.3보다 큰값들을 구해봅시다.
# 마스킹 연산을 활용하여 출력해보세요!
print(df[(df['A'] < 0.5 ) & (df['B'] > 0.3)])
# query 함수를 활용하여 출력해보세요!
print(df.query("A<0.5 and B>0.3"))
- country의 두 컬럼을 이용하여 새로운 컬럼을 만들고자 합니다. 1인당 GDP 를 나타내는 새로운 컬럼인 gdp per capita를 데이터 프레임에 추가해보세요.
1인당 GDP는 gdp를 population으로 나누어 얻을 수 있습니다. - 완성한 데이터 프레임을 출력해보세요!
import numpy as np
import pandas as pd
# GDP와 인구수 시리즈 값이 들어간 데이터프레임을 생성합니다.
population = pd.Series({'korea': 5180,'japan': 12718,'china': 141500,'usa': 32676})
gdp = pd.Series({'korea': 169320000,'japan': 516700000,'china': 1409250000,'usa': 2041280000})
print("Country DataFrame")
country = pd.DataFrame({"population" : population,"gdp" : gdp})
print(country)
# 데이터프레임에 gdp per capita 칼럼을 추가하고 출력합니다.
gdp_per_pop = country["gdp"] / country["population"] # gdp에서 population을 나눠 1인당 gdp를 구합니다.
country["gdp per capita"] = gdp_per_pop
print(country)
'Python' 카테고리의 다른 글
그래프 범례 (1) | 2022.11.22 |
---|---|
데이터 시각화 bar graph (0) | 2022.11.22 |
수치형자료의 요약-stdev, matplotlib (0) | 2022.11.21 |
ELICE ML 명목형자료- 수치매핑 (0) | 2022.11.16 |
Elice ML 수치형자료 변환 (0) | 2022.11.16 |