s434749
This commit is contained in:
parent
d6e4440084
commit
36bef951e1
73
run.py
Normal file
73
run.py
Normal file
@ -0,0 +1,73 @@
|
||||
import numpy as np
|
||||
import pandas as pd
|
||||
from matplotlib import pyplot as plt
|
||||
|
||||
in_columns = ['id_stacji', 'nazwa_stacji', 'typ_zbioru', 'rok', 'miesiąc']
|
||||
|
||||
df = pd.read_csv('train/in.tsv', header=None, sep='\t')
|
||||
df.columns = in_columns
|
||||
|
||||
measurements = pd.read_csv('train/expected.tsv', header=None, sep='\t')
|
||||
measurements.columns = ['suma_opadów']
|
||||
|
||||
start_year = 1981
|
||||
end_year = 2021
|
||||
total_years = end_year - start_year
|
||||
total_months = total_years * 12
|
||||
known_years = 30
|
||||
|
||||
stations = [
|
||||
249180010,
|
||||
249190560,
|
||||
249200370,
|
||||
249200490,
|
||||
249220150,
|
||||
249220180,
|
||||
250190160,
|
||||
250190390,
|
||||
250210130,
|
||||
251170090,
|
||||
251210040,
|
||||
252150120,
|
||||
252160230,
|
||||
252200150,
|
||||
252210050,
|
||||
252230120,
|
||||
253170210,
|
||||
253220070,
|
||||
253230020,
|
||||
254200080,
|
||||
254220090
|
||||
]
|
||||
station_to_idx = {station: i for i, station in enumerate(stations)}
|
||||
x = np.full((len(stations), total_months), fill_value=-1)
|
||||
|
||||
for (_, df_row), (_, measurement) in zip(df.iterrows(), measurements.iterrows()):
|
||||
station_id = df_row['id_stacji']
|
||||
station_idx = station_to_idx[station_id]
|
||||
year = df_row['rok']
|
||||
month = df_row['miesiąc'] - 1
|
||||
assert start_year <= year < end_year, year
|
||||
assert 0 <= month < 12
|
||||
absolute_month = (year - start_year) * 12 + month
|
||||
x[station_idx, absolute_month] = measurement
|
||||
|
||||
z = x.reshape((len(stations), total_years, 12))
|
||||
fully_known: np.ndarray = z[:, :known_years]
|
||||
all_time_std = fully_known.std((1, 2))
|
||||
all_time_mean = fully_known.mean((1, 2))
|
||||
std_per_month = fully_known.std(1)
|
||||
mean_per_month = fully_known.mean(1)
|
||||
|
||||
df = pd.read_csv('test-A/in.tsv', header=None, sep='\t')
|
||||
df.columns = in_columns
|
||||
|
||||
# plt.plot(fully_known.T)
|
||||
with open('test-A/out.tsv', 'w+') as f:
|
||||
for _, df_row in df.iterrows():
|
||||
station_id = df_row['id_stacji']
|
||||
station_idx = station_to_idx[station_id]
|
||||
# year = df_row['rok']
|
||||
month = df_row['miesiąc'] - 1
|
||||
assert 0 <= month < 12
|
||||
print(mean_per_month[station_idx, month], file=f)
|
720
test-A/out.tsv
Normal file
720
test-A/out.tsv
Normal file
@ -0,0 +1,720 @@
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
||||
46.766666666666666
|
||||
40.7
|
||||
51.766666666666666
|
||||
57.63333333333333
|
||||
97.1
|
||||
119.66666666666667
|
||||
125.23333333333333
|
||||
101.3
|
||||
74.66666666666667
|
||||
48.46666666666667
|
||||
47.63333333333333
|
||||
48.233333333333334
|
||||
35.13333333333333
|
||||
28.766666666666666
|
||||
38.266666666666666
|
||||
45.53333333333333
|
||||
77.33333333333333
|
||||
88.73333333333333
|
||||
90.23333333333333
|
||||
77.86666666666666
|
||||
63.7
|
||||
43.233333333333334
|
||||
40.43333333333333
|
||||
36.96666666666667
|
||||
32.36666666666667
|
||||
31.266666666666666
|
||||
37.266666666666666
|
||||
28.5
|
||||
54.5
|
||||
60.766666666666666
|
||||
80.66666666666667
|
||||
70.2
|
||||
42.733333333333334
|
||||
32.6
|
||||
36.63333333333333
|
||||
41.2
|
||||
38.56666666666667
|
||||
32.03333333333333
|
||||
39.06666666666667
|
||||
33.86666666666667
|
||||
48.1
|
||||
60.1
|
||||
73.36666666666666
|
||||
66.26666666666667
|
||||
44.166666666666664
|
||||
32.56666666666667
|
||||
39.9
|
||||
44.2
|
||||
34.93333333333333
|
||||
30.733333333333334
|
||||
37.03333333333333
|
||||
31.3
|
||||
46.3
|
||||
55.06666666666667
|
||||
74.56666666666666
|
||||
67.36666666666666
|
||||
39.0
|
||||
31.866666666666667
|
||||
36.8
|
||||
40.833333333333336
|
||||
40.266666666666666
|
||||
32.166666666666664
|
||||
39.766666666666666
|
||||
37.63333333333333
|
||||
70.6
|
||||
73.9
|
||||
77.63333333333334
|
||||
65.76666666666667
|
||||
57.666666666666664
|
||||
40.833333333333336
|
||||
43.06666666666667
|
||||
43.96666666666667
|
|
Loading…
Reference in New Issue
Block a user