오늘은 포켓몬스터를 이용한 데이터 학습에 대해서 배웠다.
먼저 포켓몬스터 게임을 생각해보자.
포켓몬 게임에는 포켓몬의 수, 능력치, 타입, 등등 정보가 많다.
그래서 이걸 불러오면 총 몇개가 나올까?
pokemon = original_data.copy()
print(pokemon.shape)
pokemon.head()
결과 : (800, 13)
총 800마리의 포켓몬과 그 포켓몬의 13가지 특성이 있다는 것을 나타내는 행렬이다
총 포켓몬 중에서 전설의 포켓몬은 몇마리일까?
한번 불러와 보자.
legendary = pokemon[pokemon["Legendary"] == True].reset_index(drop=True)
print(legendary.shape)
legendary.head()
결과 : (65, 13)
총 65마리에다 특성 13가지라는 결과 값이 나왔다.
그런데 포켓몬 게임을 하다보면 포켓몬들이 가지고 있는 특성들있다.
어떤 특성들이 있는지 한번 불러와보자.
print(len(pokemon.columns))
pokemon.columns
결과 : Index(['#', 'Name', 'Type 1', 'Type 2', 'Total', 'HP', 'Attack', 'Defense','Sp. Atk', 'Sp. Def', 'Speed', 'Generation', 'Legendary'],
dtype='object')
보니깐, 여기 포켓몬 이름, 타입1,2 총스텟, 체력, 공격, 방어, 특수공격, 특수방어, 스피드,
포켓몬 세대, 전설 이렇게 나열되어 있다.
근데 여기서 나는 좀 봐야 할 부분이 타입인거 같다.
왜냐하면 어떤 포켓몬은 타입이 한개만 있고 어떤건 2개 다 다른타입으로 있기 때문에 분류를
하는데 있어서 두드러지게 나오지 않을까 싶다.
먼저 타입의 갯수를 알아볼까?
len(list(set(pokemon["Type 1"]))), len(list(set(pokemon["Type 2"])))
결과 : (18, 19)
결과로는 타입1에는 18개 타입2에는 19가지가 있다
근데 왜 타입2에는 1개가 더 많은거지?
한번 알아보자
set(pokemon["Type 2"]) - set(pokemon["Type 1"])
결과 : {nan}
아 이것때문에 하나가 더 많구나..=> 타입이 1개다 그럼 타입2에 nan 이 들어가서
하나의 타입만 도출 할 수 있게 하는구나
그럼 여기서 타입 하나만 가지고 있는 포켓몬의 수는 얼마나 될까?
pokemon["Type 2"].isna().sum()
결과 : 386
총 386마리나 있다.
오늘은 여기까지 써야지