728x90
반응형
GETTING HTML DATA
df = pd.read_html('https://www.livingin-canada.com/house-prices-canada.html')
df
자료가 리스트 형식(대괄호 [])으로 표시되었고, 웹페이지 내에 자료가 여러개 있어서 리스트화 되어 표시된 것!
리스트의 갯수를 확인하고 각각 데이터를 확인해야함
len(df) # 리스트의 갯수
리스트 갯수가 2개로 확인되어 하나씩 불러와 봄
df[0] # 데이터 프레임
df[1]
각 데이터 프레임 하단에 자료 데이터 외의 코드가 들어가 있고
웹페이지 확인시 표 안에 광고 코드를 삽입한 것으로 확인되어 각 데이터에서 해당 부분을 제거함
df[0] = df[0].drop(8, axis=0)
df[0].loc[0:7,]
위 2가지 코드를 사용하여 데이터 가공하여 사용함(결과 값은 같음)
df[1] = df[1].drop(11, axis=0)
df[1].loc[0:10,]
Average House price의 평균을 구하세요
df[0]['Average House Price'].mean()
위와 같이 오류가 나는데 Average House price 부분이 문자열이라 평균을 계산할 수 없는 것
불필요한 문자를 제거한 뒤 숫자열로 바꿔서 계산할 수 있도록 함
df[0]['Average House Price']
df[0]['Average House Price'].str.replace('$','').str.replace(',','')
값에 '$'와 ',' 를 제거함
df[0]['Price'] = df[0]['Average House Price'].str.replace('$','').str.replace(',','').astype(int)
숫자만 남은 데이터를 숫자열(int 64)로 변경한 뒤 새로운 'price' 컬럼을 만들어 저장함
df[0]
Average House price의 평균 값을 구할 수 있게 되었고 값은 아래와 같음
df[0]['Price'].mean()
728x90
반응형
'즐거운프로그래밍' 카테고리의 다른 글
[pandas] pandas 실습예제 1 (0) | 2023.11.16 |
---|---|
[pandas] pandas 데이터 가공 연습하기 (0) | 2023.11.15 |
[pandas] pandas 파일 읽어온 뒤 데이터 중복 제거와 데이터 처리 예제 (nunique, count, unique, sum, mean, groupby, agg, value_counts) (0) | 2023.11.15 |
[pandas] pandas 파일 읽어온 뒤 데이터 처리하기(describe, head, tail, info) (0) | 2023.11.15 |
[pandas] pandas NaN (1) | 2023.11.14 |