icsubi를 다 만들고 보니 사이렌이 울렸다. 국제보안기구 <U.B.U.N.T.U>에게서 긴급 이메일이 도착했다. 죄없는 컴퓨터들에게 무차별적인 Request를 통해 이상상태로 만드는 악당 <디도스>가 인터넷을 침략하려고 한다는 소식을 전했다. 이를 막기 위해 최정예부대인 우리는 Abengers (저작권을 조심합시다) 를 소집하기로 했다. 도와줘요 Abengers!
캐릭터는 저마다 지능, 힘, ... 등 다양한 수치를 지니고 있다. 이러한 수치의 합이 가장 큰 캐릭터는 누구인가? 이를 보이기 위한 과정을 보여라.
좋은 캐릭터와 나쁜 캐릭터의 능력치들의 수치 분포를 알고 싶다. 이를 표현하기 위한 적절한 그래프를 선택해서 이를 위한 전처리를 진행하고, 시각화하여라.
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# 수치의 합이 가장 큰 캐릭터 구하기
avengers = pd.read_csv("./charcters_stats.csv")
avengers[['Name','Total']].sort_values('Total',ascending = False)
캐릭터는 저마다 지능, 힘, ... 등 다양한 수치를 지니고 있다. 또한 각 캐릭터는 DC, 마블 등 다양한 코믹스 회사를 바탕으로 하고 있다. 어떤 코믹스 회사의 캐릭터들이 능력치 합의 평균이 가장 큰가? 이를 보이기 위한 과정을 보여라.
좋은 캐릭터와 나쁜 캐릭터가 격돌한다고 한다. 격돌하는 경우 캐릭터들의 능력치의 합의 평균이 큰 팀이 이긴다고 한다. 단, 불의를 못참는 중립 캐릭터들은 중립캐릭터가 없었을 당시에 열세인 팀에 가담한다. 이러한 상황일때 결과적으로 어떤 캐릭터 진영이 승리할 것인가? 이를 보이기 위한 과정을 보여라.
list1 = []
# 전체 회사 캐릭터 구하기
for i in marvel_company:
new_df = avengers[avengers.Publisher == i]
mean = new_df['Total'].mean()
list1.append([i,mean])
list1 = pd.DataFrame(list1)
list1 = list1.set_index(list1[0],drop= True)
# 어떠한 회사의 캐릭터들이 능력치 합의 평균이 가장 큰지?
list1[list1[1] ==list1[1].max()]
0
1
0
Shueisha
Shueisha
481.5
# 해당 회사의 캐릭터 평균 능력치
list1
0
1
0
Marvel Comics
Marvel Comics
243.357349
Dark Horse Comics
Dark Horse Comics
196.875000
DC Comics
DC Comics
254.888889
NBC - Heroes
NBC - Heroes
140.526316
Wildstorm
Wildstorm
5.000000
Image Comics
Image Comics
70.615385
NaN
NaN
NaN
Icon Comics
Icon Comics
148.000000
SyFy
SyFy
188.800000
Hanna-Barbera
Hanna-Barbera
5.000000
George Lucas
George Lucas
NaN
Team Epic TV
Team Epic TV
5.000000
South Park
South Park
NaN
HarperCollins
HarperCollins
5.000000
ABC Studios
ABC Studios
166.000000
Universal Studios
Universal Studios
237.000000
Star Trek
Star Trek
NaN
IDW Publishing
IDW Publishing
NaN
Shueisha
Shueisha
481.500000
Sony Pictures
Sony Pictures
398.000000
J. K. Rowling
J. K. Rowling
NaN
Titan Books
Titan Books
NaN
Rebellion
Rebellion
NaN
Microsoft
Microsoft
425.000000
J. R. R. Tolkien
J. R. R. Tolkien
NaN
# 좋은 캐릭터 Info
good_avengers = avengers[avengers.Alignment_x == 'good']
good_avengers.head()
Name
Alignment_x
Intelligence
Strength
Speed
Durability
Power
Combat
Total
ID
Alignment_y
Gender
EyeColor
Race
HairColor
Publisher
SkinColor
Height
Weight
1
A-Bomb
good
38.0
100.0
17.0
80.0
17.0
64.0
316.0
0.0
good
Male
yellow
Human
No Hair
Marvel Comics
-
203.0
441.0
2
Abe Sapien
good
88.0
14.0
35.0
42.0
35.0
85.0
299.0
1.0
good
Male
blue
Icthyo Sapien
No Hair
Dark Horse Comics
blue
191.0
65.0
3
Abin Sur
good
50.0
90.0
53.0
64.0
84.0
65.0
406.0
2.0
good
Male
blue
Ungaran
No Hair
DC Comics
red
185.0
90.0
6
Adam Monroe
good
63.0
10.0
12.0
100.0
71.0
64.0
320.0
6.0
good
Male
blue
-
Blond
NBC - Heroes
-
-99.0
-99.0
7
Adam Strange
good
1.0
1.0
1.0
1.0
0.0
1.0
5.0
7.0
good
Male
blue
Human
Blond
DC Comics
-
185.0
88.0
# 나쁜 캐릭터 Info
bad_avengers = avengers[avengers.Alignment_x == 'bad']
bad_avengers.head()