일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 액티비티 라이프 사이클
- AWS
- 안드로이드 스튜디오 네비게이션바
- 안드로이드 스튜디오 Fragment 화면전환
- 안드로이드 스튜디오
- Log.i
- BottomNavigationView
- 안드로이드 스튜디오 탭바
- 안드로이드 스튜디오 미디어재생
- 안드로이드 스튜디오 알림메시지
- 안드로이드스튜디오 사용자 메시지
- 안디르오드 스튜디오 Logcat
- 안드로이드 개발
- 앱네임체인지
- android studio
- PANDAS
- 파이티스
- 앱 디버깅
- Android 앱 개발
- 안드로이드 스튜디오 하단바
- Snackbar 메시지 띄우기
- 안드로이드 스튜디오 앱이름 변경
- AndroidTips
- 안드로이드 스튜디오 앱이름
- 라이프사이클관리
- 안드로이드 스튜디오 애니메이션 효과주기
- 안드로이드 스튜디오 생명주기
- 주사위 게임 앱
- Toast 메시지 띄우기
- 안드로이드 로그보기
- Today
- Total
파이티스
파이썬 Pandas 라이브러리와 loc함수 사용으로 실습하기 2 본문
loc 이란?
- 데이터프레임에서 특정 행과 열에 접근하는 데 사용되는 pandas의 인덱싱 방법 중 하나
- loc을 사용하여 행과 열을 지정하면 해당 위치의 데이터를 선택할 수 있다.
Pandas 기초실습 2
- 판다스 라이브러리를 임포트 한다.
- "winemag-data.csv" 파일을 불러온다.
- head로 제일 앞에 3개의 데이터를 불러온다.
import pandas as pd
reviews = pd.read_csv('D:/yh-k4-main/yh-k4-main/data/winemag-data.csv')
reviews.head(3)
- 지난시간처럼 col_index = 0 을 입력해서 Unnamed를 인덱스화 한다.
reviews = pd.read_csv('D:/yh-k4-main/yh-k4-main/data/winemag-data.csv',index_col = 0)
과정1 )
- 인덱스를 title 컬럼으로 셋팅한다.
- set_index 사용
reviews2 = reviews.set_index('title')
reviews2.head(2)
과정2 )
- 빈 데이터 확인
reviews2.isna()
reviews2.isna().sum()
과정3 )
- 비어있지 않은 데이터 확인
reviews2.notna()
reviews2.notna().sum()
과정4 )
- 통계량 구하기
reviews2['points'].describe()
과정5 )
- 가격이 없는 데이터는 빼고, 데이터셋을 가져온다.
money_price = reviews2.loc[reviews2['price'].notna() , ]
money_price.head(2)
과정6 )
- 리뷰에 새로운 컬럼 critic 만들고, everyone 이라고 값 넣는다.
- 데이터 프레임 제일 마지막에 critic 열이 생성된것을 확인 할 수 있다.
# " = " 의 오른쪽을 왼쪽의 변수에 저장하라 이다. ( 메모리에 작업하라 )
# reviews2['critic'] = 'everyone'
reviews2['critic'] = 'everyone'
reviews2.head(5)
과정7 )
- 리뷰의 포인트 컬럼은 수치로 되어있다. 이 컬럼의 기초통계데이터를 확인하시오. (평균, 최대 최소 등)
reviews2['points'].describe()
과정8 )
- taster_name 컬럼은 사람 이름으로 되어있다. 몇명의 사람들이 평가를 한것인까?
reviews2['taster_name']
- taster_name 컬럼의 고유한 이름 개수 확인
# taster_name 컬럼의 고유한 이름 개수 확인
num_tasters = reviews2['taster_name'].nunique()
num_tasters
과정9 )
- 리뷰 포인트의 평균을 구하시오
reviews2['points']
- mean()을 사용하여 포인트의 평균을 구한다.
reviews2['points'].mean()
과정10 )
- 테스터들의 이름을 전부 확인하시오
reviews2['taster_name'].unique()
taster_name는 총 19명이지만, nan이 하나 포함되어 있어서 20으로 출력됨.
reviews2['taster_name'].unique().size # nan 이 하나 있어서 19 + 1(nan) = 20
# taster_name 컬럼의 모든 고유한 이름 확인
unique_names = reviews2['taster_name'].unique()
# 결과 출력
print(unique_names)
★ 문제해결
- taster_name 에서 NaN을 제외하고 출력하기 위해서 dropna() 사용
reviews2['taster_name'].dropna().unique()
# dropna() 사용하여 NaN 을 제외시킴
과정11 )
- 각 테스터들은, 각각 몇개의 와인을 테스트 했는지 확인하시오. ( 테스터 이름, 갯수 )
reviews2.groupby('taster_name')['taster_name'].count()
#reviews2.groupby('taster_name') 별로 ['taster_name'].count() 카운트 해라
- 내림차순으로 정렬
# 테스터별 와인 테스트 개수 확인
tester_counts = reviews2['taster_name'].value_counts()
# 결과 출력
print(tester_counts)
과정12 )
- 리뷰의 포인트의 평균을 구하고, 리뷰의 포인트값이, 평균보다 큰 데이터 (즉, 평가가 좋은 와인) 만 가져오시오.
point_mean = reviews2['points'].mean()
reviews2.loc[reviews2['points'] > point_mean , ].head(3)
# head(3)으로 앞에 3개의 데이터만 봄
실습 끝!
'Python > Pandas' 카테고리의 다른 글
파이썬 Pandas 라이브러리와 groupby함수 사용으로 실습하기 3 (0) | 2023.05.24 |
---|---|
파이썬 Pandas 라이브러리 정의를 알아보고, 사용방법 실습하기 (0) | 2023.05.23 |