import pandas as pd

# 키, 체중, 성별 유형의 데이터프레임 생성하기
tbl = pd.DataFrame({
    "weight": [80.0, 70.4, 65.5, 45.9, 51.2, 72.5],
    "height": [170, 180, 155, 143, 154, 160],
    "gender": ['f', 'm', 'm', 'f', 'f', 'm']
})

# 키와 몸무게 정규화 하기
def norm(tbl, key):
    c = tbl[key]
    print(key, c.max(), c.min())
    tbl[key] = (c - c.min()) / (c.max() - c.min())

norm(tbl, "weight")
norm(tbl, "height")
print(tbl)

#   gender    height    weight
# 0      f  0.729730  1.000000
# 1      m  1.000000  0.718475
# 2      m  0.324324  0.574780
# 3      f  0.000000  0.000000
# 4      f  0.297297  0.155425
# 5      m  0.459459  0.780059

# 판다스의 DataFrame을 지원하지 않는 경우, as_matrix()를 이용해서 numpy의 ndarray 자료형의 배열로 변환할 수 있다
n = tbl.as_matrix()
print(n)
# [['f' 0.7297297297297297 1.0]
#  ['m' 1.0 0.7184750733137831]
#  ['m' 0.32432432432432434 0.5747800586510264]
#  ['f' 0.0 0.0]
#  ['f' 0.2972972972972973 0.15542521994134909]
#  ['m' 0.4594594594594595 0.7800586510263929]]

