1. 程式人生 > >用 Python 分析了 10000 場吃雞資料,原來吃雞要這麼玩!

用 Python 分析了 10000 場吃雞資料,原來吃雞要這麼玩!

640?wx_fmt=gif

640?wx_fmt=jpeg

作者 | 阿廣

責編 | 屠敏

640?wx_fmt=png

前言   


絕地求生在國內火的一塌糊塗的時候,一款名叫 Fortnite 的遊戲在國外颳起了堡壘旋風,這款同樣為大逃殺玩法的沙盒類遊戲,在絕地求生逐漸走低的形勢下,堡壘之夜卻奪得多項提名,眾多明星主播轉戰堡壘!

上天入地,蓋樓修路,鋪陷阱設彈床;想和太陽肩並肩,一發火箭就上天。

鑑於“二百斤靈魂”小胖舍友經常痴迷於吃雞類遊戲,為了幫助他提高遊戲勝率,我爬取並分析了 1w 餘場吃雞資料。下面讓我們來看一下能吃雞得強相關條件是什麼?


640?wx_fmt=png

獲取資料


首先,我們需要載入 Python 庫:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline

然後載入Fortnite資料,檢查資料的質量和整潔度,然後整理和清理資料集,以便進行後續的清理工作。

#錄入Fornite的CSV資料
Fortnite_data = pd.read_csv('aguang.csv')

為了對資料集有一個大致的瞭解,不妨先輸出資料的前幾行。

Fortnite_data.head()

結果為:

serial_number  knockout_number  assist-number  save_number  precision  hit_the_target  exact_strike  marching_course  material collection  material-using  afford damage  cause_damage  building-damage  grade  Total-score  Total-experience  teams number  match-time  competitor-name
0
  1  4  1  0  0.33  69  19  4000  1325  670  554  815  3709  3  448.0  762.0  1  2018/5/14 11:37  Alvin
1  2  2  1  0  0.31  28  0  2000  733  110  292  268  7733  9  282.0  536.0  2  2018/5/17 17:48  Alvin
2  3  3  0  1  0.21  33  12  3000  1806  350  245  543  7727  8  291.0  597.0  4  2018/5/18 18:05  Alvin
3  4  2  0  3  0.05  6  0  3000  700  420  746  163  19008  3  NaN  NaN  4  2018/5/18 18:26  Alvin
4  5  1  4  1  0.12  32  7  3000  668  370  212  432  13108  4  358.0  734.0  4  2018/5/18 18:53  Alvin


640?wx_fmt=png

觀察資料


本資料集包含了1w餘把遊戲資料,其中可能有“二百斤”的小胖網癮記錄(慘不忍睹:joy:)。該資料集中的缺失值被標記為NaN。資料列名的含義如下:

serial_number:         遊戲場次編號  
knockout_number:  本場淘汰人數  
assist_number:        助攻數  
save_number:          救起隊友人數  
precision:                 射擊精度  
hit_the_target:         命中  
exact_strike:             精準打擊  
marching_course:     行進歷程(m)
material_collection:  材料已收集  
material-using:         使用材料  
afford_damage:        承受傷害  
cause_damage:         玩家傷害  
building-damage:     建築傷害  
total_score:               總分
total_experience:      總經驗
teams_number:        參賽情況(1人為Solo,兩人為Double4人為team,3人蔘賽自動填充為4人)
match_time:             遊戲時間
competitor_name:   該條記錄的所有人


640?wx_fmt=png

資料處理


檢視資料型別和資料有無缺失值:

#檢視資料型別和資料有無缺失
Fortnite_data.info()

檢視一下有無重複資料:

#檢視一下有無重複資料
Fortnite_data[Fortnite_data.duplicated()]

結果為:

serial_number  knockout_number  assist-number  save_number  precision  hit_the_target  exact_strike  marching_course  material collection  material-using  afford damage  cause_damage  building-damage  grade  Total-score  Total-experience  teams number  match-time  competitor-name

檢視資料的描述統計:

#檢視資料的描述統計
Fortnite_data.describe()

結果為:

serial_number  knockout_number  assist-number  save_number  precision  hit_the_target  exact_strike  marching_course  material collection  material-using  afford damage  cause_damage  building-damage  grade  Total-score  Total-experience  teams number
coun 42.000000  42.000000  42.000000  42.000000  42.000000  42.000000  42.000000  42.000000  42.000000  42.000000  42.000000  42.000000  42.000000  42.000000  20.000000  20.000000  42.000000
mean 21.500000  2.642857  1.261905  0.380952  0.246429  38.452381  6.976190  2576.142857  1092.785714  312.619048  350.047619  567.309524  9336.119048  6.000000  362.700000  676.350000  3.238095
std  12.267844  2.818246  1.415240  0.660834  0.168520  32.539809  8.529684  781.055339  617.643932  213.781967  160.616336  434.419966  6366.174673  4.928761  151.638802  274.785519  1.122052
min  1.000000  0.000000  0.000000  0.000000  0.000000  0.000000  0.000000  481.000000  200.000000  0.000000  52.000000  0.000000  1755.000000  1.000000  84.000000  168.000000  1.000000
25%  11.250000  1.000000  0.000000  0.000000  0.172500  10.250000  2.000000  2000.000000  694.750000  162.500000  273.000000  262.750000  5780.000000  3.000000  277.750000  507.750000  2.000000
50%  21.500000  2.000000  1.000000  0.000000  0.240000  32.500000  3.500000  3000.000000  905.500000  260.000000  326.000000  513.000000  7819.000000  4.000000  328.500000  602.500000  4.000000
75%  31.750000  3.000000  2.000000  1.000000  0.305000  56.000000  10.250000  3000.000000  1453.750000  367.500000  403.000000  692.500000  10799.500000  7.750000  403.000000  775.250000  4.000000
max  42.000000  15.000000  5.000000  3.000000  1.000000  126.000000  39.000000  4000.000000  2728.000000  1060.000000  877.000000  1970.000000  32963.000000  18.000000  728.000000  1238.000000  4.000000

經過分析資料,發現一場淘汰13人的資料,可能存在誤差,單獨輸出看一下:

Fortnite_data[Fortnite_data['knockout_number']==13]

結果為:

serial_number  knockout_number  assist-number  save_number  precision  hit_the_target  exact_strike  marching_course  material collection  material-using  afford damage  cause_damage  building-damage  grade  Total-score  Total-experience  teams number  match-time  competitor-name
12  13  15  1  0  0.24  103  18  3000  1488  660  52  1970  8612  1  728.0  1238.0  1  2018/5/19 21:47  Wal-Mart

經過分析,這條屬於正常資料,可能是“有趣的靈魂”小胖同學這場異常生猛,一人殺了13個,一路高歌在吃雞的道路上,且只有3000m的行進舉例說明基本上沒有跑毒的困擾,可以說天時地利了!

為了提高清潔度,將match-time列拆分成年月日列和小時列,下面是資料清理:

#複製一個備用df
Fortnite_clean = Fortnite_data.copy()


640?wx_fmt=png

吃雞到底和哪個資料相關性最強?

相關推薦

Python 分析 1982 英雄聯盟資料開局前預測遊戲對局勝負

前言 如今,只要隨便進入一個網咖,都會發現玩《英雄聯盟》的人是最多的,可以這麼說,《英雄聯盟》已經是當之無愧的端遊一哥。而在擁有如此基數玩家的《英雄聯盟》,已經不僅僅是一個電競遊戲這麼簡單了,它還帶給了我們無數的歡樂。 問君能有幾多愁,輔助閃現搶人頭;問

利用Python分析1982英雄聯盟資料開局前預測遊戲對局勝負

    用Python分析如何打好英雄聯盟? 概述 前言 假設 遊戲對戰資料獲取 分析和訓練資料 遊戲對戰勝負預測 期望研究的問題 結論 學習Python中有不明白推薦加入交流群   &nb

Python 分析 10000 資料原來這麼

作者 | 阿廣 責編 | 屠敏 前言    絕地求生在國內火的一塌糊塗的時候,一款名叫 Fortnite 的遊戲在國外颳起了堡壘旋風,這款同樣為大逃殺玩法的沙盒類遊戲,在絕地求生逐漸走低的形勢下,堡壘之夜卻奪得多項提名,眾多明星主播轉戰

Python抓取並分析1982英雄聯盟資料教你開局前預測遊戲對局勝負

英雄聯盟想必大多數讀者不會陌生,這是一款來自拳頭,由騰訊代理的大型網路遊戲,現在一進網咖,你就能發現一大片玩英雄聯盟的人。在2017年中國戰隊無緣鳥巢的世界總決賽後,一大片人選擇了棄遊,只是終究沒躲過“真香定理”,在2018年的中旬,又有大批戰友又回到熟悉的召喚師峽谷戰場,時至今日,英雄聯盟已經不僅僅是一款遊

利用Python分析1982英雄聯盟資料預判勝負掙的盤滿泊滿

用Python分析如何打好英雄聯盟? 概述 前言 假設 遊戲對戰資料獲取 分析和訓練資料 遊戲對戰勝負預測 期望研究的問題 結論     用Python分析如何打好英雄聯盟? 概述 前言

Python自己的微信好友原來他們是這樣的人……

導讀: 用了微信幾年了,微訊號有也不少了,但是真正瞭解自己的好友嗎?好友最多的城市

佛爺帶你Python視覺化分析 ”絕地求生1800萬遊戲資料穩穩

本文內容和程式碼實現基本轉自By datayx。筆者在此之上,做了內容完善和程式碼完善。 98k消音,瞭解一下~ 經常玩吃雞遊戲,我們現在來分析一下過去一年 1800萬條遊戲資料,看看有什麼套路幫我們吃到雞。 1. 資料集描述 做資料分析或者機器

Python分析數千個微信暱稱後我們發現這些規律……

這是一篇技術文,但又不是一篇技術文,今天分享的是,當小A獲取了微信小程式英文取名的3500多個微信使用者暱稱、年齡段後,分析得到下面結果。 02 Let's get it 進群:548377875  即可獲取數十套PDF哦! 1.基本資訊獲取 訪問英文取名的使用者基本資

小心Python爬取你的微信隱私Python分析數千個微信暱稱後發現這些祕密

01 Let's get it 1. 基本資訊獲取 訪問 英文取名 的使用者基本信介面,獲取 英文取名 使用者微信名(NickName)、訪問次數(Count)、總資料集(ResponseData),並將微信名存入檔案。 # 獲取所有使用

Python7W知乎使用者資訊終於爬獲心儀小姐姐……

馬上又要到元旦了,在舉國一片“買買買”的呼聲中,單身汪的咆哮聲也愈發淒厲了。 作為一個 Python 程式設計師,要如何找到小姐姐,避開暴擊傷害,在智中取勝呢?於是就有了以下的對話: so~今天我們的目標是,爬社群的小姐姐~而且,我們又要用到新的姿勢(霧)了~scrapy

Python爬取考研吧1000條帖子原來他們都在討論這些

寫在前面 考研在即,想多瞭解考研er的想法,就是去找學長學姐或者去網上搜索,貼吧就是一個好地方。而藉助強大的工具可以快速從網路魚龍混雜的資訊中得到有價值的資訊。雖然網上有很多爬取百度貼吧的教程和例子,但是貼吧規則更新快,目的不一樣,爬取的內容也不一樣,所以就有了這個工具。 目的 爬取1000條帖子→判斷是

基於Python分析金庸小說裏的主角原來他才是真正的主角

python 爬蟲 web開發 編程 入門 粉絲獨白說起武俠小說,不得不提中國武俠小說三大宗師——金庸、梁羽生、古龍,從上世紀七八十年×××始,大量的武俠經典出現在熒幕之中。三位大師的文字作品幾乎都讀過,在學習Python和數據分析後又發現了很多好玩的東西,今天就用數據分析來探索一下武俠小

Python爬下十幾萬本小說再也不會鬧書荒

自從看了師傅爬了頂點全站之後,我也手癢癢的,也想爬一個比較牛逼的小說網看看,於是選了宜搜這個網站,好了,馬上開幹,這次用的是mogodb資料庫,感覺mysql太麻煩了下圖是我選擇宜搜裡面遍歷的網站   先看程式碼框架圖   第一個,肯定先提取排行榜裡面

Python抓取並分析1982英雄聯盟數據教你開局前預測遊戲對局勝負

cross 2018年 eva root 結果 sigmoid tcl optimizer json 英雄聯盟想必大多數讀者不會陌生,這是一款來自拳頭,由騰訊代理的大型網絡遊戲,現在一進網吧,你就能發現一大片玩英雄聯盟的人。在2017年中國戰隊無緣鳥巢的世界總決賽後,一大片

《我不是藥神》小編也看Python分析為何能三天破10億

房子 示例代碼 pro 需要 詞雲 comment 二次 -i 移民 影片在未上映前,大規模的點映積攢了相當高的人氣和口碑, 截止 7 月 9 日淩晨:豆瓣評分:9.0 分,貓眼:9.7 分,淘票票:9.5 分,時光網:8.8 分 。 藥能治病,命卻

月底準備去成都三日遊Python分析哪家火鍋店最好吃

冬天到了,天氣越來越冷,準備去旅遊一下,年底旅遊嘛,每一天都想吃辣辣的火鍋。成都到處都是火鍋店,有名的店,稍微去晚一點,排隊都要排好久,沒聽說的店,又怕味道不好。那麼如何選擇火鍋店呢?最簡單的肯定是在美團。大眾點評上找一找啊。所以,本文就從大眾點評上爬取了成都的火鍋資料,來進行了分析。 1、爬蟲

Python六百萬字的歌詞分析告訴你中國Rapper都在唱些啥

《中國有嘻哈》火了,作為一名對中國HipHop毫無瞭解的吃瓜群眾,我開始好奇以下三個問題: HipHop到底在唱些什麼? 進群:943752371可以獲取數十套PDF文件! 各個國家和地區的 Rapper 們想要說的唱的都有哪些特色? 如果想當一個Rapper,我應該怎樣寫詞才能緊跟

經濟學家都Python分析房價走勢哪裡跌價買哪裡

學習Python中有不明白推薦加入交流裙                 號:735934841                 群裡

Python4400條淘寶商品數據竟發現這些“潛規則”

Python本文記錄了筆者用 Python 爬取淘寶某商品的全過程,並對商品數據進行了挖掘與分析,最終得出結論。 項目內容 本案例選擇>> 商品類目:沙發; 數量:共100頁 4400個商品; 篩選條件:天貓、銷量從高到低、價格500元以上。 我用Python爬了4400條淘寶商品數據,竟發現了這

大四應屆生Python實現遠程監控壓根就不需要女友開視頻

肉雞 找到 src 視頻 分享 設置 一個 ever 實時 使用要求: Sender代碼必須要在一臺有攝像頭的電腦上運行起來。然後把數據編碼,壓縮之後,再傳給另外一個電腦 Reciever作為接受端,沒什麽特別的要求。 兩個電腦都必須要按轉好numpy + ope