참조: https://docs.python.org/3.9/library/functions.html

생소한 함수도 많네요. ㅋ

 

728x90

'Programming Language > Python' 카테고리의 다른 글

[Python] 클래스  (0) 2022.03.14
[Python] 모듈과 패키지  (0) 2022.03.14
[Python] 문자열 포맷 출력  (0) 2022.03.14
[Python] 판다스 pands 필터링, 정렬, 랭크  (0) 2022.03.12
[Python] 판다스 pandas 기본  (0) 2022.03.12

 

문자열 포맷 방식

참조: https://docs.python.org/3.9/library/string.html#formatstrings

 

1. % 기호 방식

2. {} 기호 방식

3. f-strings 방식

 

s_val = 'string'
i_val = 123
f_val = 3.141592

# 1. % 기호방식
for i in range(3):
    print('%% method: %s / %d / %.2f' % (s_val, i_val+i, f_val))
# % method: string / 123 / 3.14
# % method: string / 124 / 3.14
# % method: string / 125 / 3.14

# 2. {} 기호방식
for i in range(3):
    print('{{}} method: {} / {} / {:.2f}'.format(s_val, i_val+i, f_val))
# {} method: string / 123 / 3.14
# {} method: string / 124 / 3.14
# {} method: string / 125 / 3.14

# 3. f-string 방식
for i in range(3):
    print(f'f-string method: {s_val} / {i_val+i} / {f_val:.2f}')
# f-string method: string / 123 / 3.14
# f-string method: string / 124 / 3.14
# f-string method: string / 125 / 3.14

 

 

728x90

판다스 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

- 데이터 분석 모듈로 시리즈(Series)와 데이터프레임(DataFrame) 데이터구조를 제공한다.
- 시리즈가 1차원 구조면 데이터프레임은 2차원의 데이터 구조다.

 

  • 판다스 데이터 구조
=import pandas as pd

# 시리즈
sr = pd.Series([400, 300, 800])
# 첫번째 숫자는 인덱스
print(sr)
# 0    400
# 1    300
# 2    800
# dtype: int64

sr = pd.Series([400, 300, 800], index=['두산퓨얼셀', 'OCI', '대한항공'])
print(type(sr))
# <class 'pandas.core.series.Series'>

# 인덱스를 지정했을 때
print(sr)
# 두산퓨얼셀     400
# OCI    300
# 대한항공     800
# dtype: int64

print(type(sr['두산퓨얼셀']))
# <class 'numpy.int64'>
print(sr['두산퓨얼셀'])
# 400
print(sr[1])
# 300

# 데이터프레임
df = pd.DataFrame({'가격':[40000, 110000, 29000], 'PER': [0.5, 1.2, 0.2], 'ROA': [1.01, 3.1, 0.97]}, index=['두산퓨얼셀', 'OCI', '대한항공'])
print(type(df))
# <class 'pandas.core.frame.DataFrame'>
print(df)
# <class 'pandas.core.frame.DataFrame'>
#         가격  PER   ROA
# 두산퓨얼셀    40000  0.5  1.01
# OCI   110000  1.2  3.10
# 대한항공   29000  0.2  0.97

print(type(df['가격']))
# <class 'pandas.core.series.Series'>

# 시리즈데이터 가져오기
print(df['가격'])
# 두산퓨얼셀      40000
# OCI     110000
# 대한항공     29000
# Name: 가격, dtype: int64
print(df['가격']['OCI'])
# 110000

# 행데이터 가져오기
print(df.loc['두산퓨얼셀'])
# 가격     40000.00
# PER      0.50
# ROA      1.01
# Name: 두산퓨얼셀, dtype: float64

# 행데이터도, 시리즈 타입이네요.
print(type(df.loc['두산퓨얼셀']))
# <class 'pandas.core.series.Series'>
728x90

+ Recent posts