Importing the libraries¶
In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
In [2]:
# Loading the dataset
df = pd.read_excel('Online Game stats.xlsx')
Dataset size¶
In [3]:
df.shape
Out[3]:
(60, 5)
Column names, data types and non-null counts¶
In [4]:
df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 60 entries, 0 to 59 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 player_id 60 non-null object 1 character_class 60 non-null object 2 session_minutes 60 non-null int64 3 ping_ms 60 non-null int64 4 score 60 non-null int64 dtypes: int64(3), object(2) memory usage: 2.5+ KB
First five rows of the dataset¶
In [5]:
df.head()
Out[5]:
| player_id | character_class | session_minutes | ping_ms | score | |
|---|---|---|---|---|---|
| 0 | P001 | Mage | 33 | 27 | 466 |
| 1 | P002 | Archer | 47 | 27 | 503 |
| 2 | P003 | Warrior | 25 | 26 | 654 |
| 3 | P004 | Warrior | 21 | 28 | 591 |
| 4 | P005 | Warrior | 21 | 24 | 551 |
Summary statistics for numeric columns¶
In [6]:
df.describe()
Out[6]:
| session_minutes | ping_ms | score | |
|---|---|---|---|
| count | 60.000000 | 60.000000 | 60.000000 |
| mean | 40.766667 | 36.466667 | 502.833333 |
| std | 48.705398 | 50.172066 | 71.785973 |
| min | 13.000000 | 19.000000 | 340.000000 |
| 25% | 22.750000 | 23.000000 | 454.000000 |
| 50% | 30.000000 | 26.000000 | 507.000000 |
| 75% | 36.250000 | 28.000000 | 551.750000 |
| max | 300.000000 | 310.000000 | 660.000000 |
Summary statistics for categorical (text) columns¶
In [7]:
df.describe(exclude="number")
Out[7]:
| player_id | character_class | |
|---|---|---|
| count | 60 | 60 |
| unique | 60 | 5 |
| top | P001 | Warrior |
| freq | 1 | 20 |
Missing values in each column¶
In [8]:
df.isnull().sum()
Out[8]:
player_id 0 character_class 0 session_minutes 0 ping_ms 0 score 0 dtype: int64
Histogram visualisation¶
In [9]:
# Creating histograms
df.hist(figsize=(14,14))
plt.show()
Descriptive Statistics¶
In [10]:
df["session_minutes"].mean()
Out[10]:
40.766666666666666
In [11]:
df["ping_ms"].mean()
Out[11]:
36.46666666666667
In [12]:
df["score"].mean()
Out[12]:
502.8333333333333
In [13]:
df["session_minutes"].median()
Out[13]:
30.0
In [14]:
df["ping_ms"].median()
Out[14]:
26.0
In [15]:
df["score"].median()
Out[15]:
507.0
In [16]:
df["score"].mode()
Out[16]:
0 442 1 530 Name: score, dtype: int64
In [17]:
df["ping_ms"].mode()
Out[17]:
0 27 Name: ping_ms, dtype: int64
In [18]:
df["session_minutes"].mode()
Out[18]:
0 24 Name: session_minutes, dtype: int64
In [19]:
df.skew(numeric_only=True)
Out[19]:
session_minutes 4.221103 ping_ms 4.590387 score -0.010251 dtype: float64
In [20]:
df.kurt(numeric_only=True)
Out[20]:
session_minutes 18.425483 ping_ms 20.835897 score -0.269960 dtype: float64
In [ ]: