-
Notifications
You must be signed in to change notification settings - Fork 2
/
label.py
57 lines (35 loc) · 1.1 KB
/
label.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import pickle
import pandas as pd
import sys
import datetime
if len(sys.argv) != 3:
print("Usage: python3 label.py model_name csv_location ")
with open(sys.argv[1], 'rb') as file:
model = pickle.load(file)
df = pd.read_csv(sys.argv[2])
df['predictions'] = model.predict(df["body"].to_list())
df = df[df['predictions'] == 1]
df = df[df['ActionGeo_CountryCode'] != 'IZ']
print(df)
def get_date_obj(s):
time = datetime.datetime.strptime(str(s)[:-2], "%Y%m")
return time
df['date'] = df.SQLDATE.apply(get_date_obj)
df = df[df['date'] > '2015']
grouped = df.groupby(['date'])['date'].count()
print(grouped.index[0])
print()
for date, count in zip(grouped.index, grouped.to_numpy()):
print(date,count)
times = pd.date_range(start=grouped.index[0],
end=grouped.index[-1])
print(times)
fig, ax = plt.subplots(1)
fig.autofmt_xdate()
plt.plot(grouped.index, grouped.to_list())
ax.set_ylim([0, 275])
xfmt = mdates.DateFormatter('%Y-%m')
ax.xaxis.set_major_formatter(xfmt)
plt.savefig("thing_not_iz.png")