Pythonデータ分析-OLヒーロー画像!

5359 ワード

LOLは多くの学友がすべてよく知らないことを信じて、游んだことがなくて少なくとも闻いたことがあって、本猿のLOLのレベルは1回の操作が虎のように猛威を振るって、戦績1-5を見ると.
学んで役に立つ知識を求める態度に基づいて、英雄たちの属性の秘密を見てみましょう.
1.仕事をうまくやるためには、まずその器を利し、データ分析に必要なライブラリを導入する
  •  
  • import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as sb
    

    Pythonリソース共有グループ:484031800
    2.英雄データのロード
    このデータセットのバージョンは8.14.1で、データセットのリンクは次のとおりです.https://www.kaggle.com/jadson666/lol-champions-dataset-patch-8141
  •  
  • champions_data = pd.read_csv('champions_dataset.csv')champions_data.head() #     5 
    

     
     
     
     
     
     
     
    3.データ記述の表示
  •  
  • champions_data.describe() #       ,   ,   ,   
    

     
     
     
     
     
     
    141人のヒーローのデータがあり、護甲(armor)の平均値は30.14、最小値は17、最大値は47など一連のデータがあることがわかる.
    4.図形描画関数の定義
  •  
  • def countplot(data, is_x, title):    if is_x:        sb.countplot(data= data, x= title)    else:        sb.countplot(data= data, y= title)    title_counts = champions_data[title].value_counts()        for i in title_counts.index:            count = title_counts[i]        pct_string = '{}'.format(count)        plt.text(i - 1.1, count + 1, pct_string, va= 'center')
    

     
    5.AD能力分布の表示
  •  
  • countplot(data= champions_data, is_x= True, title='attack')
    

     
     
     
     
     
     
    この図から、AD能力が8のヒーローが最も多く、27人いることがわかります.AD能力2のヒーローは数回、22位.
    では、AD最強と最弱ヒーローには誰がいるのでしょうか.
  •  
  • strong_attack = champions_data.loc[champions_data['attack'] == 10]['name'].valuesprint("           :")print(strong_attack)weak_attack = champions_data.loc[champions_data['attack'] == 1]['name'].valuesprint("            :")print(weak_attack)
    

     
     
     
     
     
     
    対応する国服nameは:
    AD最強:[カイジ、霞、易大師、灰、無双剣姫、VN、蛮王]
    AD弱鶏:[ゾイ、カルマ、ゼラス、タリア、モガンナ、エニビア、ロフラン、ガリオ]
    あれ、信じやすい手紙はAD能力が10ではなく、科学的ではありません.
    6.APコンピテンシー分布の表示
  •  
  • countplot(data= champions_data, is_x= True, title='magic')strong_magic = champions_data.loc[champions_data['magic'] == 10]['name'].valuesprint("AP       :")print(strong_magic)weak_magic = champions_data.loc[champions_data['magic'] == 1]['name'].valuesprint("AP       :")print(weak_magic)
    

     
     
     
     
     
     
     
     
     
     
     
    対応する国服nameは:
    AP最強9位:[ヴィクトル、ヴィガ、カサス、レイズ、ゼラス、ヴィクトル、エニビア、ロフラン、アン]
    AP弱鶏11位:[ケイ隠、デレエス、瑞雯、霞、劫、ヒビル、デレビン、VN、タイロン、パイク、ゲレン]
    7.操作難易度分布の表示
  •  
  • countplot(data= champions_data, is_x= True, title='difficulty')most_difficulty = champions_data.loc[champions_data['difficulty'] == 10]['name'].valuesprint("       :")print(most_difficulty)least_difficulty = champions_data.loc[champions_data['difficulty'] == 1]['name'].valuesprint("        :")print(least_difficulty)
    

     
     
     
     
     
     
     
     
     
     
     
    操作難易度は5の英雄数が最も多く,4の次に正規分布を示した.
    対応する国服nameは:
    操作が最も難しい5位:[イブリン、ランボ、エニビア、アソ、カシオペア]
    連続スクロールキーボード2位:[厄さん、モガンナ]
    モガンナの操作も難しくないですね.10 Q中3はいいですね.
    8.英雄タイプ分布の表示
  •  
  • #    classes = []for item in champions_data['classes'].values:    item = item.replace('[\'', '')    item = item.replace('\']', '')    item = item.replace('\', \'', ' ')    items = item.split()    classes.append(items[0])champions_data['classes'] = classes#  classes    sb.countplot(data= champions_data, x= 'classes')
    

     
     
     
     
     
     
    棒グラフでは各タイプのヒーローの割合が見えないので、円グラフを描きます.
  •  
  • classes = champions_data['classes'].value_counts()plt.pie(classes, labels= classes.index, autopct = '%3.1f%%', startangle= 90, counterclock= False)plt.axis('square')
    

     
     
     
     
     
     
    戦士:28.4%、法師:22.0%
    射手:15.6%、戦車:12.8%
    刺客:10.6%、補助:10.6%
    9.英雄称号詞雲
  •  
  • #     from wordcloud import WordCloud, ImageColorGeneratorfrom scipy.misc import imread
    #      title_array = champions_data['title'].valuestitle_string = ' '.join(title_array)
    #           back_color = imread('lol_icon.jpeg')
    #   my_wordcloud = WordCloud(background_color='white',  #                    max_words=2000,  #                    mask=back_color,  #            ,        ,width height                   max_font_size=100,  #                        random_state=42,  #         PIL                 # width=1000,  #                    # height=860  #                   )
    #  wl_space_split    my_wordcloud.generate(title_string)
    #               image_colors = ImageColorGenerator(back_color)#     plt.imshow(my_wordcloud)#      # plt.axis('off')#     plt.figure()plt.imshow(my_wordcloud.recolor(color_func=image_colors))plt.axis('off')#     my_wordcloud.to_file('ciyun.png')
    

     
     
     
     
     
     
     
     
    多くのデータに興味のある学生は発掘することができます.例えば、初期護甲が最も低い英雄、初期移速が最も高い英雄、初期攻撃力が最も高い英雄などである.