TIL_81. Intermediate Python(3)

소고기는레어·2021년 3월 5일
0

TIL 📝

목록 보기
83/96
post-thumbnail

2021. 03. 05 금요일

Intermediate Python

Logic, Control Flow and Filtering

Equality

  • 등호와 부등호를 이용하여 값의 크기가 같은지, 혹은 같지 않은지 확인할 수 있다.
    • == : 같다.
    • != : 같지 않다.

Greater and less than

  • 또한 다른 부등호들을 이용하여 값의 크기를 비교할 수 있다.
    • a>b : b보다 a가 크다.
    • a<b : a보다 b가 크다.
    • a>=b : b보다 a가 크거나 같다.
    • a<=b : a보다 b가 크거나 같다.

and, or, not (1)

  • 등호와 부등호를 사용하여 값을 비교할 때 and, or, not을 이용하여 두가지 이상의 비교를 결합할 수 있다.

  • and : 양 옆의 값이 모두 True인 경우에만 True를 반환한다.

    • True and True -> True
      • ex : 1 < 2 and 2 < 3
    • True and False -> False
      • ex : 1 < 2 and 3 < 2
    • False and False -> False
      • ex : 2 < 1 and 3 < 2
  • or : 양 옆의 값이 모두 False인 경우에만 False를 반환한다.

  • True or True -> True

    • ex : 1 < 2 or 2 < 3
  • True or False -> True

    • ex : 1 < 2 or 3 < 2
  • False or False -> False

    • ex : 2 < 1 or 3 < 2
  • not : True 혹은 False의 반대

    • not True -> False
    • not False -> True

Boolean operators with Numpy

  • 다만 Numpy의 array에는 and, or, not이 작동하지 않는다.
  • 따라서 array에는 아래와 같은 방법을 사용해야한다.
  • numpy.logical_and()
  • numpy.logical_or()
  • numpy.logical_not()
  • ex : np.logical_and(array > 1, array < 3)

if

  • if문을 통해 데이터를 필터링할 수 있다.
  • if : 조건이 충족될 경우, 정해둔 행동을 취하게 된다.
a = 10
b = 20
if a < b :
	print('b win!')

Add else

  • 정해둔 조건 외 경우의 행동을 지정한다.
a = 10
b = 20
if a < b :
	print('b win!')
else :
	print('a win!')

Customize further: elif

  • elif 조건과 그에 따른 행동을 추가한다.
a = 10
b = 20
if a < b :
	print('b win!')
elif a = b :
	print('Draw!')
else :
	print('a win!')

Filtering pandas DataFrames (1)

  • 판다스의 데이터 프레임에서 필터링 또한 여러 방법으로 가능하다.

food.csv

한글영어가격종류
app사과apple500과일
mel메론melon700과일
cfe커피coffee1000음료
import pandas as pd
food = pd.read_csv('food.csv', index_col = 0)


fruit = food['종류'] == '과일'
a = food[fruit]
print(a)

#혹은
a = food[food['종류'] == '과일']
print(a)

결과

한글영어가격종류
app사과apple500과일
mel메론melon700과일

또한 넘파이의 logical_and() 등 또한 사용이 가능하다.

import pandas as pd
import numpy as np
food = pd.read_csv('food.csv', index_col = 0)

a = food[np.logical_and(food['가격'] > 600, food['가격'] < 800)]
print(a)

결과

한글영어가격종류
mel메론melon700과일
profile
https://www.rarebeef.co.kr/

0개의 댓글