일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 액티비티 라이프 사이클
- PANDAS
- Snackbar 메시지 띄우기
- android studio
- 안드로이드 스튜디오 네비게이션바
- AndroidTips
- 안드로이드 스튜디오 하단바
- 앱 디버깅
- AWS
- 안드로이드스튜디오 사용자 메시지
- Android 앱 개발
- 파이티스
- 안디르오드 스튜디오 Logcat
- 앱네임체인지
- 안드로이드 개발
- 안드로이드 스튜디오 미디어재생
- 안드로이드 스튜디오 애니메이션 효과주기
- Log.i
- 주사위 게임 앱
- 안드로이드 스튜디오 생명주기
- BottomNavigationView
- 안드로이드 스튜디오 Fragment 화면전환
- 안드로이드 스튜디오 알림메시지
- 안드로이드 스튜디오
- 라이프사이클관리
- 안드로이드 스튜디오 탭바
- 안드로이드 스튜디오 앱이름
- Toast 메시지 띄우기
- 안드로이드 스튜디오 앱이름 변경
- 안드로이드 로그보기
- Today
- Total
파이티스
파이썬 Pandas 라이브러리 정의를 알아보고, 사용방법 실습하기 본문
파이썬을 배운지 약 한달째 되는 날이다. 수업일수로 따지면 하루에 8시간씩 24일째 이다. Python 기초부터 시작해서 데이터 분석과 머신러닝 까지 속전속결로 한바퀴 수박의 겉핧기로 살펴본것 같고, 오늘부터 다시 시작하는 것 같다.
이제 어느정도 눈과 귀는 열려있는듯 하지만, 막상 코딩을 하려면 쉽지 않다. 사실 그럴만도 하다라고 나 자신을 위로하지만 좀더 자극 받고 분발해야 할듯 하다.
Pandas 란?
- Python 프로그래밍 언어를 위한 데이터 조작과 분석을 위한 빠르고 유연한 오픈 소스 데이터 분석 라이브러리.
- 데이터를 구조화하고 조작하기 위한 강력한 도구와 데이터 분석 및 조작을 위한 다양한 함수와 메서드를 제공.
- 핵심 데이터 구조는 "시리즈(Series)"와 "데이터프레임(DataFrame)"이다.
- 시리즈는 1차원 데이터 배열로서 각 데이터 포인트에 레이블(인덱스)을 부여하여 표현.
- 데이터프레임은 2차원 테이블로서 여러 개의 시리즈를 포함하며, 행과 열을 가지는 데이터 구조.
- 데이터 구조를 사용하여 데이터를 로드, 조작, 필터링, 정렬, 그룹화, 계산 등 다양한 작업을 수행할 수 있음.
Pandas는 데이터 과학 및 데이터 분석 작업에서 매우 인기 있는 도구로, 데이터 전처리, 탐색적 데이터 분석(EDA), 통계 분석, 기계 학습 등 다양한 분야에서 사용한다.
Pandas 라이브러리 불러오기
import pandas as pd
★데이터 프레임에서 데이터를 가져오는 방법
1. 컬럼데이터 가져오는 방법
변수에 대괄호 사용. reviews['country']
2. 행과열의 조합으로 데이터 가져오는 방법
사람용으로 사용된 인덱스와 컬럼명으로ㅗ 데이터 가져오는 방법
번수에 .loc[ , ] 를 사용. reviews.loc[0 , 'country']
3. 행과열의 조합으로 데이터 가져오는 방법
컴퓨터용으로 사용된 인덱스로 데이터 가져오는 방법
변수에 .iloc[ , ] 를 사용. reviews.loc[ 0, 0 ]
Pandas 실습 I
- 사용환경 : Jupyter Notebook
- 실습파일명 : winemag-data_first150k.csv
- 파일위치 : D:/yh-k4-main/yh-k4-main/data/
과정1)
★ Jupyter Notebook 에서 파일경로를 불러오면 " \ " 를 " / " (역슬래시쉬)로 바꿔주어야 한다.
# winemag-data-130k-v2.csv 파일을 reviews 로 읽는다.
import pandas as pd
reviews = pd.read_csv('D:/yh-k4-main/yh-k4-main/data/winemag-data_first150k.csv')
reviews.head()
결과) Unnamed 인덱스에 있는것이 이상하게 컬럼에 있다.
문제해결) index_col = 0 을 맨 뒤에 입력
reviews = pd.read_csv('D:/yh-k4-main/yh-k4-main/data/winemag-data_first150k.csv', index_col= 0)
reviews.head()
# index_col= 0 사용하여 첫번째 Unnamed 컬럼을 인덱스로 써라 라고 다시 지정
과정2)
- reviews의 디스트립션 컬럼을 desc로 저장한다.
# reviews의 디스크립션 컬럼을 desc 로 저장한다.
desc = reviews['description']
desc
# 결과)
0 This tremendous 100% varietal wine hails from ...
1 Ripe aromas of fig, blackberry and cassis are ...
2 Mac Watson honors the memory of a wine once ma...
3 This spent 20 months in 30% new French oak, an...
4 This is the top wine from La Bégude, named aft...
...
150925 Many people feel Fiano represents southern Ita...
150926 Offers an intriguing nose with ginger, lime an...
150927 This classic example comes from a cru vineyard...
150928 A perfect salmon shade, with scents of peaches...
150929 More Pinot Grigios should taste like this. A r...
Name: description, Length: 150930, dtype: object
과정3)
- first_description 이라는 변수에는, 디스크립션 컬럼의 첫번째 데이터를 저장한다.
# first_description 이라는 변수에는, 디스크립션 컬럼의 첫번째 데이터를 저장한다.
# 결과를 1열은 인덱스 , 2열은 시리즈라고 함. 1차원 ( pandas는 2차원 )
first_description = reviews['description'][0] # 첫번째 방법 ( 인덱스로 가져오는법 )
first_description = reviews.loc[0,'description'] # 두번째 방법 ( 행과열을 지정하여 가져오는법 )
first_description = reviews.iloc[0,1] # 세번째 방법 ( 컴퓨터가 인식하는 인덱스 번호로 가져오는법 )
first_description
# 결과)
'This tremendous 100% varietal wine hails from Oakville and was aged over three years in oak. Juicy red-cherry fruit and a compelling hint of caramel greet the palate, framed by elegant, fine tannins and a subtle minty tone in the background. Balanced and rewarding from start to finish, it has years ahead of it to develop further nuance. Enjoy 2022–2030.'
과정4)
- first_row 라는 변수에, 첫번째 리뷰 데이터(행)를 저장한다.
# first_row 라는 변수에, 첫번째 리뷰 데이터(행)를 저장한다.
first_row = reviews.loc[0 , ] # 첫번째 행번호 0 , 칼럼은 비워두면 전체를 가져옴 (1차원으로 가져옴 - pandas 시리즈)
first_row
# 결과)
country US
description This tremendous 100% varietal wine hails from ...
designation Martha's Vineyard
points 96
price 235.0
province California
region_1 Napa Valley
region_2 Napa
variety Cabernet Sauvignon
winery Heitz
Name: 0, dtype: object
과정5)
- 리뷰의 description column 의 값들 중, 첫번째부터 10번째 데이터까지를 first_descriptions 변수에 저장한다.
# 리뷰의 description column 의 값들 중, 첫번째부터 10번째 데이터까지를
# first_descriptions 변수에 저장한다.
reviews['description'][ :9+1] # 0 부터 9까지 10개의 데이토 가져온다.
# 결과)
0 This tremendous 100% varietal wine hails from ...
1 Ripe aromas of fig, blackberry and cassis are ...
2 Mac Watson honors the memory of a wine once ma...
3 This spent 20 months in 30% new French oak, an...
4 This is the top wine from La Bégude, named aft...
5 Deep, dense and pure from the opening bell, th...
6 Slightly gritty black-fruit aromas include a s...
7 Lush cedary black-fruit aromas are luxe and of...
8 This re-named vineyard was formerly bottled as...
9 The producer sources from two blocks of the vi...
Name: description, dtype: object
과정6)
- 리뷰에서 인덱스가 1, 2, 3, 5, 8 인 데이터를, sample_reviews 변수에 저장한다.
# 리뷰에서 인덱스가 1, 2, 3, 5, 8 인 데이터를, sample_reviews 변수에 저장한다.
reviews.loc[[1,2,3,5,8] , ]
과정7)
- df 라는 변수에, 다음 조건을 만족하는 데이터프레임을 저장하시오.
인덱스가 0, 1, 10, 100 인 데이터에서, 컬럼이 country, province, region_1, region_2 인 데이터들만 가져와서 저장하시오.
# df 라는 변수에, 다음 조건을 만족하는 데이터프레임을 저장하시오.
# 인덱스가 0, 1, 10, 100 인 데이터에서, 컬럼이 country, province, region_1, region_2
# 데이터들만 가져와서 저장하시오.
df = reviews.loc[[0, 1, 10, 100], ['country', 'province', 'region_1', 'region_2']]
# 따옴표 쉽게 붙이는 법 컬럼명 더블클릭 후 따옴표 입력
df
과정8)
- Italy 에서 만들어진 와인에 대해서 italian_wines 이라는 이름으로 데이터프레임을 만드시오.
# Italy 에서 만들어진 와인에 대해서 italian_wines 이라는 이름으로 데이터프레임을 만드시오.
# reviews.loc[reviews['country'] == 'Italy' , ] # 부등식으로 한것은 loc만 사용됨.
italian_wines = reviews.loc[reviews['country'] == 'Italy' , ]
italian_wines
과정9)
- 리뷰점수가 95점 이상이고, Australia와 New Zealand 에서 만들어진 와인에 대한 데이터프레임을
top_oceania_wines 이라는 이름의 변수로 저장.
# 리뷰점수가 95점 이상이고,
# Australia와 New Zealand 에서 만들어진 와인에 대한
# 데이터프레임을 top_oceania_wines 이라는 이름의 변수로 저장.
reviews.loc[(reviews['points'] >= 95) & ((reviews['country'] == 'Australia') | (reviews['country'] == 'New Zealand'))]
'Python > Pandas' 카테고리의 다른 글
파이썬 Pandas 라이브러리와 groupby함수 사용으로 실습하기 3 (0) | 2023.05.24 |
---|---|
파이썬 Pandas 라이브러리와 loc함수 사용으로 실습하기 2 (0) | 2023.05.23 |