In [3]:
import pandas as pd
import numpy as np

In [15]:
def doHist(data):
    h = np.zeros(600)
    print np.ceil(data.values).astype(int)
    for j in np.ceil(data.values).astype(int):
        h[j:] += 1
    print h
    h /= len(data)
    return h

In [16]:
train = pd.read_csv('/storage/hpc_dmytro/Kaggle/SDSB/labels/train.csv')
#print np.ceil(train.Systole.values).astype(int)
hSystole = doHist(train.Systole)
hDiastole = doHist(train.Diastole)


[109  55  33  58  84 226  65 159  62 106  46  28  57  51 125 118  76 108
 116  73  96  45  83  25  36  76 120  47  16 101  20  24 105 101  59 157
  44  71  18 113  74  84  76  83  68  66  47  40  66 131  74  51  58  49
  91  44  58 134  77  34  59  58  80  46  54  10 122  66  73  43  77 184
  83  92  78  57  93 163  30  38 125 167  49  44  57  92  32  89  40  25
  52  45  37  99  82  59  86  94  79 122  41  75  97  29  15  62  68  29
 138  50  51  47  54  49  68 160  83  65 227  21  95  50  25  62  88  58
  89  33  30 121  61  82  57 109 175  78  56  26  40  76  93  90  65  16
  65  67  52  72  62  78  44  87  43  87  86  41  57  59  46 123 117  66
  95  75 147  83 129  34  63  75  52  50  25  45 163  57  44  61  94  56
  38  58  75  72 108  76 109  92 152  89  48  52  47  48 159  14  70  55
  87  51  67  29  68  32  93  46 137  33  37  90  74   5  71  97  16  31
  47  57  83 203  33  78  10  45  33  73  45  94  97  53  77  40  60 110
  69  77  40  76  86  62  65 210  30  51 123  77  65  54  74  83  49  39
  62  95  57  77  47 157  90  44  66 119  36  44  56  54  51  82 489  57
  49  23  70 256  64 215  92  43  34 154  13  49  31  57  18  38  54  67
  42  71 138  52  55  50 114  42  52  75  72 140  55  59  86  73  36  55
  17  63 172 134 130  90  50  78  56 112  36  52  32  29 106  53  36  40
  36  72  44  45  63  57  52  91  56  40 173  47  65  50 151  45  88  49
  57  39  35 100 105  78  93  44  28 115  59  88  60 132  75  78  98 103
  45  50  80  72  75  62  85  83 114  39  70  64  49  73  81  46  67  73
  74  52  72  51  53  50  49  72  75  50  46  11  59 121  68  38  60  41
  75  61  82  46  57  64  49  97  85  32  71  84  31  65  81  82  46  21
   5  89  55  42  46  72 106  44  65  52  62  56  52  49  91  71 295 103
  74  98  39  92 182  63  76  89 121  47 130 113  37  82  81  44  91 100
  78  80  51  42  48  26  49  74  95  49  37  55  39  66  22  86  71  48
 180  38  55  34  34  77  37   9  54 216  57  48  72  53  87 201  66  47
  96  83 191  50  63  95 137  83  45  45  53  63  61  34]
[   0.    0.    0.    0.    0.    2.    2.    2.    2.    3.    5.    6.
    6.    7.    8.    9.   12.   13.   15.   15.   16.   18.   19.   20.
   21.   25.   27.   27.   29.   33.   36.   39.   43.   48.   54.   55.
   61.   66.   71.   76.   83.   86.   90.   93.  104.  114.  123.  132.
  137.  150.  160.  168.  179.  184.  190.  198.  204.  218.  224.  231.
  234.  238.  246.  252.  255.  264.  271.  275.  280.  281.  284.  290.
  299.  305.  312.  321.  328.  335.  343.  344.  347.  350.  356.  366.
  369.  371.  376.  380.  383.  388.  392.  396.  401.  405.  408.  413.
  415.  419.  421.  422.  424.  426.  426.  428.  428.  430.  433.  433.
  435.  438.  439.  439.  440.  442.  444.  445.  446.  447.  448.  449.
  450.  453.  455.  457.  457.  459.  459.  459.  459.  460.  462.  463.
  464.  464.  466.  466.  466.  468.  470.  470.  471.  471.  471.  471.
  471.  471.  471.  472.  472.  472.  472.  473.  474.  474.  475.  475.
  475.  477.  477.  479.  480.  480.  480.  482.  482.  482.  482.  483.
  483.  483.  483.  483.  484.  485.  485.  486.  486.  486.  486.  486.
  487.  487.  488.  488.  489.  489.  489.  489.  489.  489.  489.  490.
  490.  490.  490.  490.  490.  490.  490.  490.  490.  491.  491.  492.
  492.  492.  492.  492.  492.  492.  493.  493.  493.  493.  493.  494.
  495.  495.  495.  495.  495.  495.  495.  495.  495.  495.  496.  497.
  497.  497.  497.  497.  497.  497.  497.  497.  497.  497.  497.  497.
  497.  497.  497.  497.  497.  497.  497.  497.  497.  497.  497.  497.
  497.  497.  497.  497.  498.  498.  498.  498.  498.  498.  498.  498.
  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.
  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.
  498.  498.  498.  498.  498.  498.  498.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.]
[247 138 100 155 236 318 138 306 153 220 122  94 156 176 237 205 180 175
 195 163 183 125 168  83 121 158 205 123  45 245  88 106 158 191 136 268
 131 182  70 227 205 130 198 225 125 158 128 122 179 284 204 176 128 108
 203 167 158 278 178  93 157 130 184 148 188  21 206 175 193 188 196 231
 191 178 209 163 219 227 113 101 211 211 161 137 153 231  95 197 138  91
 128 134 130 177 212 178 195 208 157 284 124 198 215 107  36 149 170  93
 280 136 173 126 190 111 173 258 215 158 264  66 250 147  89 204 231 117
 193 127  67 235 178 175 167 256 324 178 178  96 143 102 235 199 187  78
 182 192 141 170 107 189 129 203 120 181 174 129 165 178 127 316 259 153
 227 206 280 234 219 123 143 187 126 112  83 156 315 141 121 141 210 163
 120 147 179 185 176 168 195 198 244 157 131 144 160 126 215  56 180 177
 191 139 137 128 171 107 177 125 268  93 118 214 168  11 177 221  56 102
 129 138 224 351 118 153  40 140 119 191 122 151 199 141 171 142 134 250
 156 166 137 198 224 171 133 269 100 147 257 173 146 143 169 188 147 113
 133 203 154 164 116 235 205 134 171 261  99 126 125 145 110 182 569 144
 125  63 162 332 184 398 238 123  67 229  32 126  89 151  45 101 139 174
  84 161 233 198 157 158 168 130 134 172 196 242 119 167 197 154 121 153
  33 146 252 273 191 201 165 208 191 211  96 150 111  92 117 147 106 122
 135 223 131 148 172 121 162 176 158 107 328 122 190 165 213 118 224 118
 180 104 111 194 186 192 194 131 112 235 130 222 145 270 246 159 151 220
 129 155 165 163 174 128 199 212 229 158 165 157 138 249 177 156 162 174
 136 150 172 124 159 119 122 145 214 126 114  24 139 194 189 123 161 114
 197 140 156 104 132 152 135 216 199 116 171 176  87 179 161 212 109  80
  13 158 156 124 121 177 236 137 189 157 200 153  89 155 182 167 360 210
 185 236 105 204 316 141 180 223 238 144 185 272 108 183 170 157 180 257
 185 163 155 134 131  69 136 186 237 115 132 146 146 177  70 182 179 134
 250 132 135  88  98 189 118  29 135 337 136 138 161 151 208 278 174 120
 191 170 326 112 164 201 293 206 158 109 144 203 148 102]
[   0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    0.    1.
    1.    2.    2.    2.    2.    2.    2.    2.    2.    3.    3.    3.
    4.    4.    4.    4.    4.    5.    5.    5.    6.    7.    7.    7.
    8.    8.    8.    8.    9.    9.    9.    9.    9.   11.   11.   11.
   11.   11.   11.   11.   11.   11.   11.   11.   13.   13.   13.   13.
   13.   13.   13.   14.   14.   14.   15.   17.   17.   18.   20.   20.
   20.   20.   20.   20.   20.   20.   21.   21.   22.   22.   22.   24.
   25.   25.   25.   26.   28.   31.   31.   32.   33.   36.   37.   38.
   40.   40.   41.   42.   44.   46.   49.   49.   51.   52.   54.   58.
   60.   62.   63.   66.   69.   71.   73.   74.   76.   78.   83.   86.
   89.   94.  100.  104.  107.  112.  118.  120.  125.  129.  134.  139.
  142.  144.  150.  154.  159.  163.  169.  172.  174.  179.  180.  183.
  187.  190.  194.  199.  202.  203.  205.  209.  210.  216.  218.  222.
  228.  235.  245.  247.  248.  253.  256.  261.  263.  268.  269.  273.
  277.  278.  282.  287.  290.  293.  298.  301.  306.  313.  320.  324.
  329.  330.  335.  337.  339.  343.  345.  347.  350.  354.  356.  363.
  365.  367.  370.  373.  375.  378.  383.  387.  388.  390.  390.  394.
  397.  401.  404.  404.  407.  408.  410.  413.  416.  417.  419.  422.
  423.  423.  423.  425.  427.  428.  429.  431.  434.  435.  435.  438.
  438.  440.  440.  443.  443.  444.  445.  449.  452.  454.  456.  456.
  456.  456.  457.  457.  458.  459.  460.  461.  461.  462.  465.  465.
  466.  466.  466.  466.  467.  469.  470.  471.  471.  472.  472.  472.
  473.  473.  473.  473.  475.  476.  477.  477.  478.  479.  479.  479.
  479.  479.  481.  481.  483.  483.  483.  483.  485.  485.  485.  485.
  485.  485.  485.  485.  485.  486.  486.  486.  486.  486.  486.  486.
  486.  486.  486.  486.  486.  486.  487.  487.  487.  487.  487.  487.
  487.  487.  487.  488.  490.  490.  491.  491.  491.  491.  491.  491.
  492.  492.  493.  493.  494.  494.  494.  494.  495.  495.  495.  495.
  495.  496.  496.  496.  496.  496.  496.  496.  496.  496.  496.  496.
  496.  496.  496.  497.  497.  497.  497.  497.  497.  497.  497.  497.
  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.
  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.
  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.  498.
  498.  498.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.  499.
  499.  499.  499.  499.  499.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.
  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.  500.]

In [ ]:
sub = pd.read_csv('/storage/hpc_dmytro/Kaggle/SDSB/submissions/sample_submission_validate.csv', index_col='Id')
N = len(sub)//2
X = np.zeros((2*N,600))
for i in range(N):
    X[2*i,:] = hDiastole
    X[2*i+1,:] = hSystole
sub[sub.columns] = X

In [ ]:
# Save the results
sub.to_csv('/storage/hpc_dmytro/Kaggle/SDSB/submissions/submission.csv')