Exemplo n.º 1
0
weekdays = ["M", "Tu", "W", "Th", "F", "Sa", "Su"]


def dow_map(dow):
    return weekdays[dow]


tod = ["Night", "Day", "Evening"]


def tod_map(t):
    return tod[t]


crimes = decrypt_csv("./data/Playing_Periodicity.csv.enc").drop(
    ["MonthCreated", "WeekCreated", "DayCreated"], axis=1)

# # fix codes that have turned into dates
crimes.xcor_code = crimes.xcor_code.apply(fix_code)

# create crime description lookup
#codes = crimes.xcor_code.unique()

code_lookup = crimes[["xcor_code", "xcor_lkhoccodename"
                      ]].set_index("xcor_code").drop_duplicates()

# print(code_lookup.head())
# print(len(code_lookup))

# drop descriptions and expand out counts
total = crimes.TotalCreated.sum()
Exemplo n.º 2
0
import pandas as pd
from pathlib import Path

from crims.encryption import encrypt_csv, decrypt_csv

if __name__ == "__main__":
    data_file = "data/weekly-weights.csv"

    assert Path(data_file).is_file(), "Plaintext data file not found"

    df = pd.read_csv(data_file)
    print(df.head())
    encrypt_csv(df, data_file + ".enc", False)

    data_file += ".enc"
    assert Path(data_file).is_file(), "Encrypted data file not found"

    decrypted_df = decrypt_csv(data_file)
    print(decrypted_df.head())

    # have to check columns separately due to float rounding errors
    assert decrypted_df["xcor_code"].equals(df["xcor_code"])
    assert decrypted_df["period"].equals(df["period"])
    assert decrypted_df["count"].equals(df["count"])
    assert decrypted_df["total"].equals(df["total"])
    assert (decrypted_df["weight"] - df["weight"]).abs().max() < 1e-15
# 22B = 544
# 30C = 2103
# 8R = 7996
# 105A = 16083

types = ["1", "10A", "17B", "22B", "30C", "8R", "105A"]  #[1, 100]
names = pd.read_csv("./data/severity_codes.csv")[[
    "description", "code_original"
]]

all_d = pd.read_csv("./daily_adjusted.csv",
                    index_col=["xcor_code", "TimeWindow"])
all_w = pd.read_csv("./weekly_adjusted.csv",
                    index_col=["xcor_code", "DayNumber"])
#all_p = pd.read_csv("./period_adjusted.csv", index_col=["xcor_code", "period"])
all_p = decrypt_csv("./data/weekly-weights.csv.enc",
                    index_col=["xcor_code", "period"])

x = []
for wday in ["M", "Tu", "W", "Th", "F", "Sa", "Su"]:
    for shift in ["n", "d", "e"]:
        x.append("%s-%s" % (wday, shift))

#print(x)

# xsize = 1200
# ysize = 900
# dpi = 200

#plt.tight_layout()

for t in types:
Exemplo n.º 4
0
from crims.encryption import encrypt_csv, decrypt_csv


if __name__ == "__main__":
  data_file="test/crime-sample.csv"

  assert Path(data_file).is_file(), "Plaintext data file not found"

  df = pd.read_csv(data_file, index_col="id")
  print(df.head())
  encrypt_csv(df, data_file+".enc")

  data_file += ".enc"
  assert Path(data_file).is_file(), "Encrypted data file not found"

  decrypted_df = decrypt_csv(data_file, index_col="id")
  print(decrypted_df.head())

  # have to check columns separately due to float rounding errors
  assert decrypted_df.index.equals(df.index)
  assert decrypted_df["MSOA"].equals(df["MSOA"])
  assert decrypted_df["crime_type"].equals(df["crime_type"])
  assert decrypted_df["code"].equals(df["code"])
  assert decrypted_df["description"].equals(df["description"])
  assert decrypted_df["time"].equals(df["time"])
  assert decrypted_df["suspect"].equals(df["suspect"])
  assert decrypted_df["severity"].equals(df["severity"])

  # remove the encrypted file
  os.remove(data_file)