일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- GA4
- If
- jd
- Chat GPT
- 프롬프트 엔지니어링
- 머신러닝
- pandas
- da
- 태블로
- lambda
- 팀프로젝트
- 군집화
- 전처리
- streamlit
- 기초프로젝트
- 서브쿼리
- data analyst
- 히트맵
- 데이터 분석
- 크롤링
- 최종 프로젝트
- SQLD
- 시각화
- 데이터분석
- 프로젝트
- 클러스터링
- 기초통계
- SQL
- cross join
- Today
- Total
세조목
TIL(Today I Learned)7일차(23.12.06) 본문
1. SQL
1) 프로그래머스 40번 문제
https://eyeoftheworld1209.tistory.com/entry/TILToday-I-Learned6%EC%9D%BC%EC%B0%A8231205
어제 학습했던 내용 중
where절에 like 조건 여러개 넣고싶다면 or 뒤에 컬럼명 like '% %' 를 반복 입력해줘야 한다.
라는 내용을 정리했습니다.
위의 경우는 특정 문자가 포함된 값을 찾고자 할 때이고,
특정 부분이 아닌 값 전체를 찾고자 할 때는 아래와 같이 코드를 작성하면 된다.
where name in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
해당 내용은 프로그래머스 40번 문제에 나오는 내용이다.
https://school.programmers.co.kr/learn/courses/30/lessons/59046
1. PYTHON
금일은 PYTHON으로 데이터를 분석하는 다른 사례도 한번 찾아보고 싶어서
유튜브에서 '데싸노트'라는 이름으로 활동하고 있는 데이터 사이언티스트 분의 코드 뜯어보기 영상을 보면서 학습했다.
1. drop 함수
sf.drop(sf.columns[[0,2,3,15,17,18]], axis=1, inplace=True)
drop함수는 기본적으로 행을 지워줌
열을 지우려면 axis=1을 적어줘야함
inplace=True 를 적어주지 않으면 지웠던 열이 다시 나타남
2. 데이터 타입 中 object
Dtype이 object는 텍스트를 의미함
3. 숫자임에도 불구하고 Dtype이 object로 표시되는 이유는?
sf.info( )를 했을때 신기한 점은 zindexvalue가 테이블에는 숫자로 입력되어있는데 Dtype은 텍스트였음
왜그런고하니 , 때문에 문자로 인식되는 것이었음
따라서 , 를 제거해주고 숫자로 바꿔줘야 함
1) , 제거해주기
→ sf['zindexvalue'] = sf['zindexvalue'].str.replace(',', '')
sf의 경우 DataFrame이 아닌 Series이기때문에 단순히 .replace( )만을 넣어줄 것이 아니라 .str도 함께 넣어줘야한다.
2) Dtype 변경하기
→ sf['zindexvalue'] = pd.to_numeric(sf['zindexvalue'])
object를 int로 바꾸기 위해서는 pd.to_numeric 함수를 사용한다.
4. 최대, 최소 값 구하기
테이블명['컬럼명'].min( )
테이블명['컬럼명'].max( )
5. 통계적 특성 확인
→ sf.describe( )
* std = standard deviation(표준편차)
6. 시각화
sf.hist(bins=50,figsize=(20,15))
plt.show()
* sf 테이블의 값들을 히스토그램으로 시각화하는데 막대기의 개수는 50개, 가로 세로 길이는 20, 15로
or
sf.plot(kind = "scatter", x="longitude", y="latitude", alpha=0.2)
plt.show()
* kind는 종류를, alpha 는 투명도를 의미함
or
sns.scatterplot(data = sf, x='longitude', y='latitude',alpha=0.3)
plt.scatter(data = sf, x='longitude', y='latitude', alpha=0.8)
seaborn 함수를 썼을때 차트의 색을 변경하기 위해서는 아래와 같이 코드를 입력하면 됨
→ plt.figure(figsize=(10,7))
sns.scatterplot(data = sf, x='longitude', y='latitude',alpha=0.3, hue = 'lastsoldprice', palette = plt.get_cmap('jet'))
7. 상관관계 체크
→ sf.corr()
8. 정렬
→ .sort_values
corr_matrix['lastsoldprice'].sort_values(ascending=False)
* ascending=False 는 내림차순, True는 오름차순임
9. column간의 상관관계를 산점도로 표현하기(seaborn 함수 사용 時)
→ .PairGrid( )
g = sns.PairGrid(sf[['lastsoldprice', 'finishedsqft','bathrooms','zindexvalue']])
g.map(sns.scatterplot)
10. 특정 값이 몇 번 나왔는지 세아리기
→ .value_counts( )
sf['neighborhood'].value_counts( )
11. 특정하지 않은 값(=중복되지 않은 값)의 개수 구하기
→ .nunique( )
* .unique( )를 사용하면 모든 값들이 표시됨
12. 판다스 데이터 프레임 두 개를 붙이기
→ pd.concat()
pd.concat([freq, mean], axis = 1)
만약 axis를 쓰지 않으면 mean 테이블이 freq테이블 아래로 붙음
'데이터 분석 공부 > TIL(Today I Learned)' 카테고리의 다른 글
TIL(Today I Learned)9일차(23.12.08) (1) | 2023.12.08 |
---|---|
TIL(Today I Learned)8일차(23.12.07) (0) | 2023.12.07 |
TIL(Today I Learned)6일차(23.12.05) (4) | 2023.12.05 |
TIL(Today I Learned) 5일차(23.12.04) (0) | 2023.12.04 |
TIL(Today I Learned) 4일차(23.12.01) (2) | 2023.12.01 |