吃鸡数据不完全分析

先解释下,之所以叫做不完全分析呢,一是水平有限,二是重复操作,因为很多需要的结果都套用的是同一种方法,所以就不重复操作,毕竟本人也不玩吃鸡【掩面遁】

数据量大概在一千万左右,这个文件没去看,刚才看的是另一个文件是一千三百万条

环境 py3.6

  • 导入数据
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

data = pd.read_csv('E:\\datasets\\chijidata\\deaths\\kill_match_stats_final_0.csv')
"""
字段如下
killed_by	killer_name	killer_placement	killer_position_x	killer_position_y	map	match_id	time	victim_name	victim_placement	victim_position_x	victim_position_y
"""
复制代码
  • 看下人数
killer_sort = data.groupby('killer_name').size()
"""
killer_name
#unknown          61471
0----erhu----0        1
0---HaMMaN---0        6
0---Wan---0           3
0---noon              4
dtype: int64
"""
复制代码

有一行unknown,这个对于用户名统计来说是不必的,下面需要删掉

killer_sort = killer_sort.drop('#unknown')
#排序
killer_sort = killer_sort.sort_values(ascending = False)
"""
hzxiaobin           425
JZalan              406
feitengdedan        358
Ashbur_             352
siliymaui125        325
"""
复制代码
  • 接下来是被杀的人的统计,它也有unknown,所以也要去掉
victim_sort =  data.groupby('victim_name').size().drop('#unknown').sort_values(ascending = False)
#合并两张表
kill_victim = pd.concat([killer_sort,victim_sort], axis=1,sort=True)
复制代码

得到初始的表格数据

name01
0----erhu----01.01.0
0---HaMMaN---06.02.0
0---Wan---03.01.0
0---noon4.01.0
0--0IHotdog1.01.0
#改一下列名
kill_victim = kill_victim.rename(columns = {0:'kill',1:'beKill'})
#按照杀人数排序
kill_victim = kill_victim.sort_values(by='kill',ascending = False)
复制代码
namekillbeKill
hzxiaobin425.0241.0
JZalan406.0263.0
feitengdedan358.0211.0
Ashbur_352.0149.0
siliymaui125325.0181.0
#丢弃掉空行
kill_victim = kill_victim.dropna()
#增加胜率列并统计胜率
kill_victim['success_rate'] = (kill_victim['kill']-kill_victim['beKill'])/kill_victim['kill']
#按照胜率排名
kill_victim.sort_values(by='success_rate',ascending = False).head()
复制代码

这边就没什么好看的了。结果是居然有杀140人死1人的,这不知道是开挂还是怎么回事,所以胜率最高是99%以上。

#画一下最常杀人地点
data.plot(kind="scatter",x = 'killer_position_x',y='killer_position_y',alpha = 0.01)
#统计一下什么枪用的最多
gun_most = data.groupby('killed_by').count()
gun_most = gun_most.rename(columns = {'killer_name':'count'}).sort_values(by='count',ascending = False)
gun_most = gun_most.drop(data.columns[2:], axis=1,inplace=False)
#获取地图信息
map_count = data.groupby('map').count()
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值