판다스 10분 요약 : https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html
판다스 문서: https://pandas.pydata.org/pandas-docs/stable/user_guide/index.html
무료 전자책 참조: https://wikidocs.net/32829
import pandas as pd
df = pd.DataFrame(
{'가격': [100, 140, 155, 70, 90],
'PER': [1.1, 0.8, 0.7, 2.3, 3.9],
'거래량': [1000, 800, 890, 700, 2000]},
index=['a', 'b', 'c', 'd', 'e']
)
# 0. 기본데이터
print(df)
# 가격 PER 거래량
# a 100 1.1 1000
# b 140 0.8 800
# c 155 0.7 890
# d 70 2.3 700
# e 90 3.9 2000
# 1. 필터링
print(df[df['가격'] > 100])
# 가격 PER 거래량
# b 140 0.8 800
# c 155 0.7 890
# 조건이 여러개면 & 로직 연산자를 이용한다.!!!
# df[df['가격'] > 100 & df['가격'] > 100]
# 필터링 데이터 구조.
print(type(df['가격'] > 100))
# <class 'pandas.core.series.Series'>
# 필터링 데이터 결과.
print((df['가격'] > 100))
# a False
# b True
# c True
# d False
# e False
# Name: 가격, dtype: bool
# 2.1 시리즈 졍렬
print(df['PER'].sort_values(ascending=False))
# e 3.9
# d 2.3
# a 1.1
# b 0.8
# c 0.7
# Name: PER, dtype: float64
# 2.2 데이터프레임 정렬
print(df.sort_values(by='PER', ascending=True))
# 가격 PER 거래량
# c 155 0.7 890
# b 140 0.8 800
# a 100 1.1 1000
# d 70 2.3 700
# e 90 3.9 2000
# 3. rank. 시리즈로 결과 리턴
print(df['PER'].rank(ascending=True))
# a 3.0
# b 2.0
# c 1.0
# d 4.0
# e 5.0
# Name: PER, dtype: float64
728x90
'Programming Language > Python' 카테고리의 다른 글
[Python] 내장함수 (0) | 2022.03.14 |
---|---|
[Python] 문자열 포맷 출력 (0) | 2022.03.14 |
[Python] 판다스 pandas 기본 (0) | 2022.03.12 |
[Python] logging.config 구성, log file encoding 설정 (0) | 2022.03.10 |
[Python] map 함수. 새로운 리스트를 반환 (0) | 2022.03.10 |