일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 태블로
- SQL
- SQLD
- 데이터분석
- 팀프로젝트
- 크롤링
- 기초프로젝트
- jd
- GA4
- lambda
- 히트맵
- 머신러닝
- 서브쿼리
- 프로젝트
- streamlit
- 최종 프로젝트
- pandas
- 데이터 분석
- 클러스터링
- 시각화
- Python
- Chat GPT
- data analyst
- 군집화
- 기초통계
- 프롬프트 엔지니어링
- da
- 전처리
- If
- 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
TIL(Today I Learned)6일차(23.12.05)
1. SQL 1) 프로그래머스 30번 문제https://school.programmers.co.kr/learn/courses/30/lessons/151137 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록
eyeoftheworld1209.tistory.com
어제 학습했던 내용 중
where절에 like 조건 여러개 넣고싶다면 or 뒤에 컬럼명 like '% %' 를 반복 입력해줘야 한다.
라는 내용을 정리했습니다.
위의 경우는 특정 문자가 포함된 값을 찾고자 할 때이고,
특정 부분이 아닌 값 전체를 찾고자 할 때는 아래와 같이 코드를 작성하면 된다.
where name in ('Lucy', 'Ella', 'Pickle', 'Rogan', 'Sabrina', 'Mitty')
해당 내용은 프로그래머스 40번 문제에 나오는 내용이다.
https://school.programmers.co.kr/learn/courses/30/lessons/59046
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
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 |