Classify customer potential

Like most companies, Red Hat is able to gather a great deal of information over time about the behavior of individuals who interact with them. They’re in search of better methods of using this behavioral data to predict which individuals they should approach—and even when and how to approach them. In this competition, Kagglers are challenged to create a classification algorithm that accurately identifies which customers have the most potential business value for Red Hat based on their characteristics and activities. With an improved prediction model in place, Red Hat will be able to more efficiently prioritize resources to generate more business and better serve their customers.

Get Data description

This competition uses two separate data files that may be joined together to create a single, unified data table: a people file and an activity file.

The people file contains all of the unique people (and the corresponding characteristics) that have performed activities over time. Each row in the people file represents a unique person. Each person has a unique people_id.

The activity file contains all of the unique activities (and the corresponding activity characteristics) that each person has performed over time. Each row in the activity file represents a unique activity performed by a person on a certain date. Each activity has a unique activity_id.

The challenge of this competition is to predict the potential business value of a person who has performed a specific activity. The business value outcome is defined by a yes/no field attached to each unique activity in the activity file. The outcome field indicates whether or not each person has completed the outcome within a fixed window of time after each unique activity was performed.

The activity file contains several different categories of activities. Type 1 activities are different from type 2-7 activities because there are more known characteristics associated with type 1 activities (nine in total) than type 2-7 activities (which have only one associated characteristic).

To develop a predictive model with this data, you will likely need to join the files together into a single data set. The two files can be joined together using person_id as the common key. All variables are categorical, with the exception of 'char_38' in the people file, which is a continuous numerical variable.

Own summary of Competition

Data of People Characteristics and Activity during a specific period to make a predictive model to assess the business value of a customer.

File Name Available Formats Description
people.csv zip characteristics, people_id (unique)
sample_submission.csv zip
act_test.csv zip activity during period, each activity activity_id (unique) test
act_train.csv zip activity during period, each activity activity_id (unique) train

In [1]:
%matplotlib inline
from IPython.display import Image
from IPython.core.display import HTML 
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.style.use('ggplot')
plt.rcParams['figure.figsize'] = 16, 9

In [6]:
df_people = pd.read_csv("../data/raw/people.csv")
df_people.columns


Out[6]:
Index(['people_id', 'char_1', 'group_1', 'char_2', 'date', 'char_3', 'char_4',
       'char_5', 'char_6', 'char_7', 'char_8', 'char_9', 'char_10', 'char_11',
       'char_12', 'char_13', 'char_14', 'char_15', 'char_16', 'char_17',
       'char_18', 'char_19', 'char_20', 'char_21', 'char_22', 'char_23',
       'char_24', 'char_25', 'char_26', 'char_27', 'char_28', 'char_29',
       'char_30', 'char_31', 'char_32', 'char_33', 'char_34', 'char_35',
       'char_36', 'char_37', 'char_38'],
      dtype='object')

In [7]:
df_people.head()


Out[7]:
people_id char_1 group_1 char_2 date char_3 char_4 char_5 char_6 char_7 ... char_29 char_30 char_31 char_32 char_33 char_34 char_35 char_36 char_37 char_38
0 ppl_100 type 2 group 17304 type 2 2021-06-29 type 5 type 5 type 5 type 3 type 11 ... False True True False False True True True False 36
1 ppl_100002 type 2 group 8688 type 3 2021-01-06 type 28 type 9 type 5 type 3 type 11 ... False True True True True True True True False 76
2 ppl_100003 type 2 group 33592 type 3 2022-06-10 type 4 type 8 type 5 type 2 type 5 ... False False True True True True False True True 99
3 ppl_100004 type 2 group 22593 type 3 2022-07-20 type 40 type 25 type 9 type 4 type 16 ... True True True True True True True True True 76
4 ppl_100006 type 2 group 6534 type 3 2022-07-27 type 40 type 25 type 9 type 3 type 8 ... False False True False False False True True False 84

5 rows × 41 columns


In [3]:
df_act_test = pd.read_csv("../data/raw/act_test.csv")
df_act_test.head()


Out[3]:
people_id activity_id date activity_category char_1 char_2 char_3 char_4 char_5 char_6 char_7 char_8 char_9 char_10
0 ppl_100004 act1_249281 2022-07-20 type 1 type 5 type 10 type 5 type 1 type 6 type 1 type 1 type 7 type 4 NaN
1 ppl_100004 act2_230855 2022-07-20 type 5 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 682
2 ppl_10001 act1_240724 2022-10-14 type 1 type 12 type 1 type 5 type 4 type 6 type 1 type 1 type 13 type 10 NaN
3 ppl_10001 act1_83552 2022-11-27 type 1 type 20 type 10 type 5 type 4 type 6 type 1 type 1 type 5 type 5 NaN
4 ppl_10001 act2_1043301 2022-10-15 type 5 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 3015

In [12]:
df_act_train = pd.read_csv("../data/raw/act_train.csv")

df_act_train.head()


Out[12]:
people_id activity_id date activity_category char_1 char_2 char_3 char_4 char_5 char_6 char_7 char_8 char_9 char_10 outcome
0 ppl_100 act2_1734928 2023-08-26 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 76 0
1 ppl_100 act2_2434093 2022-09-27 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 0
2 ppl_100 act2_3404049 2022-09-27 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 0
3 ppl_100 act2_3651215 2023-08-04 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 0
4 ppl_100 act2_4109017 2023-08-26 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 0

Where the activity actually made things happen for the business


In [13]:
df_act_train.where(df_act_train["outcome"]==1)


Out[13]:
people_id activity_id date activity_category char_1 char_2 char_3 char_4 char_5 char_6 char_7 char_8 char_9 char_10 outcome
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
6 ppl_100002 act2_1233489 2022-11-23 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
7 ppl_100002 act2_1623405 2022-11-23 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
8 ppl_100003 act2_1111598 2023-02-07 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
9 ppl_100003 act2_1177453 2023-06-28 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
10 ppl_100003 act2_133509 2022-08-10 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 894 1.0
11 ppl_100003 act2_1408475 2023-03-02 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 143 1.0
12 ppl_100003 act2_1610829 2022-09-13 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
13 ppl_100003 act2_1688731 2023-02-10 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 297 1.0
14 ppl_100003 act2_1961720 2023-06-28 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 269 1.0
15 ppl_100003 act2_1988351 2022-08-23 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
16 ppl_100003 act2_2198176 2022-08-16 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
17 ppl_100003 act2_2437661 2023-02-02 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
18 ppl_100003 act2_2476911 2023-03-02 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
19 ppl_100003 act2_2557270 2022-08-30 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 230 1.0
20 ppl_100003 act2_2581989 2023-02-21 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
21 ppl_100003 act2_3116385 2023-02-15 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
22 ppl_100003 act2_3159712 2022-08-30 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
23 ppl_100003 act2_3292005 2023-05-03 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
24 ppl_100003 act2_3461867 2023-08-02 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
25 ppl_100003 act2_3468306 2023-03-02 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 143 1.0
26 ppl_100003 act2_3867292 2023-02-10 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
27 ppl_100003 act2_3990676 2023-08-30 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 276 1.0
28 ppl_100003 act2_4102292 2023-08-30 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
29 ppl_100003 act2_4160587 2023-02-21 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2197261 ppl_99994 act2_2053669 2023-01-19 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197262 ppl_99994 act2_2053762 2023-06-16 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 418 1.0
2197263 ppl_99994 act2_2134893 2023-08-23 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1396 1.0
2197264 ppl_99994 act2_2139237 2023-06-27 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197265 ppl_99994 act2_2233766 2023-06-28 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197266 ppl_99994 act2_2499779 2023-02-19 type 3 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 61 1.0
2197267 ppl_99994 act2_2514377 2023-06-15 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197268 ppl_99994 act2_2537795 2023-01-12 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197269 ppl_99994 act2_2582736 2023-06-16 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197270 ppl_99994 act2_2674371 2023-06-16 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197271 ppl_99994 act2_2808953 2023-05-02 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197272 ppl_99994 act2_2840212 2023-08-25 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 76 1.0
2197273 ppl_99994 act2_2992386 2023-06-15 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 201 1.0
2197274 ppl_99994 act2_3177773 2023-06-15 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 201 1.0
2197275 ppl_99994 act2_3284072 2023-07-14 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197276 ppl_99994 act2_3373847 2023-02-16 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197277 ppl_99994 act2_3534467 2023-08-17 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197278 ppl_99994 act2_3903321 2023-06-16 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 418 1.0
2197279 ppl_99994 act2_4024188 2023-01-12 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 520 1.0
2197280 ppl_99994 act2_4355021 2023-02-23 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 602 1.0
2197281 ppl_99994 act2_4433480 2023-01-24 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197282 ppl_99994 act2_4440524 2023-08-17 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 759 1.0
2197283 ppl_99994 act2_4473896 2023-06-15 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 418 1.0
2197284 ppl_99994 act2_4479985 2023-07-14 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 142 1.0
2197285 ppl_99994 act2_4581579 2023-01-13 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197286 ppl_99994 act2_4668076 2023-06-16 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 418 1.0
2197287 ppl_99994 act2_4743548 2023-03-30 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1832 1.0
2197288 ppl_99994 act2_536973 2023-01-19 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0
2197289 ppl_99994 act2_688656 2023-05-02 type 4 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 199 1.0
2197290 ppl_99994 act2_715089 2023-06-15 type 2 NaN NaN NaN NaN NaN NaN NaN NaN NaN type 1 1.0

2197291 rows × 15 columns


In [12]:
df_act_train.describe()


Out[12]:
outcome
count 2.197291e+06
mean 4.439544e-01
std 4.968491e-01
min 0.000000e+00
25% 0.000000e+00
50% 0.000000e+00
75% 1.000000e+00
max 1.000000e+00

Here we try to make sense of the people dataset


In [14]:
df_people.hist()


Out[14]:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x15dc6b278>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1542c2518>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x11e75e518>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x15d4f1438>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x156e87518>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x1379107f0>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x130a1e4a8>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x15b33f940>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x150f6e128>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x13bc10550>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x12cabdf28>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x114f90710>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x15965c748>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x150a06710>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1396b7b38>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x1276b6320>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x11e90b940>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x160c2d630>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x15917e940>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x14cc0b630>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x1373ed828>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x12e7e8a20>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x12ab8a828>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x11cf59c50>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1115be438>],
       [<matplotlib.axes._subplots.AxesSubplot object at 0x15e17ec50>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x1595560b8>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x14d215e10>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x138fffb00>,
        <matplotlib.axes._subplots.AxesSubplot object at 0x132da3e10>]], dtype=object)

In [15]:
df_people.char_1.value_counts().plot(kind='bar')


Out[15]:
<matplotlib.axes._subplots.AxesSubplot at 0x1107ecdd8>

In [29]:
for column in df_people.columns.tolist(): if column == "char_1": df_people[column]value_counts().plot(kind='bar')


  File "<ipython-input-29-31af1394d7f2>", line 1
    for column in df_people.columns.tolist(): if column == "char_1": df_people[column]value_counts().plot(kind='bar')
                                               ^
SyntaxError: invalid syntax

In [35]:
for column in df_people.columns.tolist():
    if column in "char_1":
        df_people[column].value_counts().plot(kind='bar')



In [41]:
df_people.apply(pd.Series.value_counts)


/usr/local/lib/python3.5/site-packages/pandas/core/frame.py:5283: RuntimeWarning: unorderable types: bool() > str(), sort order is undefined for incomparable objects
  index = _union_indexes(indexes)
/usr/local/lib/python3.5/site-packages/pandas/indexes/api.py:71: RuntimeWarning: unorderable types: str() < int(), sort order is undefined for incomparable objects
  result = result.union(other)
Out[41]:
people_id char_1 group_1 char_2 date char_3 char_4 char_5 char_6 char_7 ... char_29 char_30 char_31 char_32 char_33 char_34 char_35 char_36 char_37 char_38
2020-05-18 NaN NaN NaN NaN 15.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-19 NaN NaN NaN NaN 22.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-20 NaN NaN NaN NaN 49.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-21 NaN NaN NaN NaN 51.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-22 NaN NaN NaN NaN 40.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-23 NaN NaN NaN NaN 62.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-24 NaN NaN NaN NaN 13.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-25 NaN NaN NaN NaN 28.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-26 NaN NaN NaN NaN 54.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-27 NaN NaN NaN NaN 92.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-28 NaN NaN NaN NaN 695.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-29 NaN NaN NaN NaN 457.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-30 NaN NaN NaN NaN 57.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-05-31 NaN NaN NaN NaN 21.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-01 NaN NaN NaN NaN 17.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-02 NaN NaN NaN NaN 45.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-03 NaN NaN NaN NaN 77.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-04 NaN NaN NaN NaN 76.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-05 NaN NaN NaN NaN 94.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-06 NaN NaN NaN NaN 62.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-07 NaN NaN NaN NaN 16.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-08 NaN NaN NaN NaN 7.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-09 NaN NaN NaN NaN 59.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-10 NaN NaN NaN NaN 142.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-11 NaN NaN NaN NaN 77.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-12 NaN NaN NaN NaN 262.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-13 NaN NaN NaN NaN 49.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-14 NaN NaN NaN NaN 15.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-15 NaN NaN NaN NaN 14.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2020-06-16 NaN NaN NaN NaN 52.0 NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
41 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 884.0
35 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 882.0
28 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 877.0
13 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 870.0
20 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 863.0
33 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 857.0
48 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 851.0
34 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 835.0
18 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 814.0
22 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 789.0
14 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 787.0
30 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 785.0
25 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 764.0
40 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 735.0
19 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 722.0
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 710.0
16 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 709.0
9 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 683.0
42 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 680.0
3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 674.0
12 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 667.0
4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 655.0
10 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 631.0
17 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 610.0
15 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 599.0
11 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 577.0
6 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 570.0
5 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 554.0
8 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 551.0
7 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 528.0

224682 rows × 41 columns


In [ ]: