Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 티스토리
- 파이썬 시각화
- Python
- 한빛미디어
- Linux
- python visualization
- 서평
- Pandas
- 파이썬
- SQL
- 매틀랩
- MySQL
- 텐서플로
- tensorflow
- MATLAB
- 독후감
- Ga
- Google Analytics
- 딥러닝
- 시각화
- 서평단
- Visualization
- 블로그
- 통계학
- 리눅스
- 월간결산
- matplotlib
- Blog
- 한빛미디어서평단
- Tistory
Archives
- Today
- Total
pbj0812의 코딩 일기
[Python] Pandas 를 이용한 SQL 스러운 데이터 전처리 본문
0. 목표
- Python 의 Pandas 를 이용하여 SQL 스럽게 데이터 전처리 하기
1. 실습
1) SELECT
(1) 필드 하나
df = pd.DataFrame({'a' : [1, 2, 3, 4, 1], 'b' : [2, 3, 4, 5, 6], 'c' : [2, 4, 6, 8, 6]})
df['a']
(2) 필드 여러개
df[['a', 'b']]
(3) 행 인덱스로 접근
df.loc[0]
2) WHERE
- a 가 3 이상
df[df['a'] >= 3]
- a 가 3 이상이고 b 가 5 미만
a = ((df['a'] >= 3) & (df['b'] < 5))
df.loc[a]
3) CASE
def case(x):
if x < 2:
return '2 미만'
elif x < 4:
return '4 미만'
else:
return '4 이상'
df['case test'] = df.apply(lambda df : case(df['a']), axis = 1)
df
4) GROUP BY
- 필드 하나
df = pd.DataFrame({'a' : [1, 2, 3, 4, 1], 'b' : [2, 3, 4, 5, 6], 'c' : [2, 4, 6, 8, 6]})
df.groupby(by = ['a'], as_index = False).count()
- 필드 여러개
df.groupby(by = ['a', 'b'], as_index = False).count()
5) ORDER BY
import copy
df2 = copy.deepcopy(df)
df2.sort_values(by = ['a'], ascending=False)
df2.reset_index()
6) LIMIT
- head
df.head(2)
- tail
df.tail(2)
7) DISTINCT
df = pd.DataFrame({'a' : [1, 2, 3, 4, 5, 1], 'b' : [2, 4, 6, 8, 10, 1]})
a = df['a']
a.unique()
8) UNION
df = pd.DataFrame({'a' : [1, 2, 3, 4, 5], 'b' : [2, 4, 6, 8, 10]})
pd.concat([df, df], axis = 0)
9) INNER JOIN
df = pd.DataFrame({'a' : [1, 2, 3, 4, 5], 'b' : [2, 4, 6, 8, 10]})
df2 = pd.DataFrame({'a' : [1, 2, 3, 5], 'c' : [2, 5, 7, 9]})
pd.merge(df, df2, how = 'inner', on = 'a')
10) LEFT JOIN
result = pd.merge(df, df2, how = 'left', on = 'a')
11) NULL 값 채우기
result.fillna(0)
2. 참고
- Replace NaN Values with Zeros in Pandas DataFrame
- join
- 17. 파이썬 pandas DataFrame(5) 병합(merge)
- pandas.DataFrame.sort_values
- python - 여러 조건으로 데이터 프레임을 필터링하는 좋은 파이썬 방법이 있습니까?
- [ Python ] Pandas Lambda, apply를 활용하여 복잡한 로직 적용하기
- 인덱싱
'ComputerLanguage_Program > PYTHON' 카테고리의 다른 글
[Python] 문서의 모든 행의 끝부분마다 문자 넣기 (0) | 2021.02.23 |
---|---|
[PYTHON] 자동화 Pie-Donut 차트 만들기 (2) | 2021.02.21 |
[Python] seaborn 을 이용한 heatmap 제작( + 다중 groupby) (0) | 2021.02.14 |
[PYTHON] pip freeze 를 이용한 설치 패키지 목록 저장 (0) | 2021.01.31 |
[PYTHON] arrow 라이브러리 소개(시간/날짜) (0) | 2020.12.06 |
Comments