def output_oneline(ip, startDate, startTime, endDate, endTime, requestedNum, outputFile): inactDue = time_diff(startDate, startTime, endDate, endTime) oneline = ip + "," + startDate + " " + startTime + "," + endDate + " " + endTime + "," + str( inactDue + 1) + "," + str(requestedNum) + "\n" f = open(outputFile, "a") # print ("write to file: "+oneline) # print (outputFile) # print(os.path.abspath(outputFile)) f.write(oneline)
ARR_VS_DEP = {} ARR_VS_ARR = {} #Make windows for departing train for train in DEPARTING: if not str(DEP_DICT[train]) == 'nan': DEP_VS_DEP[train] = [] DEP_VS_ARR[train] = [] #Match with departing trains for candidate in DEPARTING: if not str(DEP_DICT[candidate]) == 'nan': #skip comparisons with train if candidate == train: pass elif abs(time_diff(DEP_DICT[train], DEP_DICT[candidate])) < WINDOWSIZE/2.: DEP_VS_DEP[train].append(candidate) #Match with arriving trains for candidate in ARRIVING: if not str(ARR_DICT[candidate]) == 'nan': #skip comparisons with train if candidate == train: pass elif abs(time_diff(DEP_DICT[train], ARR_DICT[candidate])) < WINDOWSIZE/2.: DEP_VS_ARR[train].append(candidate) #Write spreadsheets WRITER = csv.writer(open('DATA_OSLOS/DEP_VS_DEP.csv', 'w'), delimiter=',') WRITER.writerow(['Subject', 'Possible delayers ->'])
def test(self): """ Test function time_diff() """ self.assertEqual(time_diff('14.12.2014 09.57.00', '14.12.2014 09.56.51'), 9)
import pandas as pd import numpy as np import matplotlib.pyplot as plt import csv from time_diff import time_diff # Writing data to CSV file df = pd.read_csv('/Volumes/Samir\'s Files/DATA/mimic/ADMISSIONS.csv.gz') df['TARGET'] = 0 data = df[['HADM_ID', 'SUBJECT_ID', 'ADMITTIME', 'DEATHTIME', 'TARGET']] data = data.replace(np.nan, 'nan', regex=True) col = data.columns.values.tolist() data = np.array(data) for i in range(len(data)): if data[i][3] != 'nan': if time_diff(data[i][3], data[i][2]) <= 168: data[i][4] = 1 with open('test.csv', 'w') as csv_file: csvwriter = csv.writer(csv_file, delimiter='\t') csvwriter.writerow(col) for row in range(len(data)): csvwriter.writerow(data[row])
for oneRecord in f: recordList = oneRecord.split(",") ip = recordList[index_ip] date = recordList[index_date] time = recordList[index_time] cik = recordList[index_cik] accession = recordList[index_accession] extention = recordList[index_extention] # check if the active users passed the inactive period tempUserOrder = deepcopy(activeUserOrder) for user in activeUserOrder: curLastDate = activeUserSet[user].lastDate curLastTime = activeUserSet[user].lastTime inactDue = time_diff(curLastDate, curLastTime, date, time) if inactDue > inactPeriod: output_oneline(user, activeUserSet[user].startDate, activeUserSet[user].startTime, activeUserSet[user].lastDate, activeUserSet[user].lastTime, activeUserSet[user].requestedNum, outputFile) del (activeUserSet[user]) tempUserOrder.remove(user) activeUserOrder = deepcopy(tempUserOrder) # check if IP address existing if ip in activeUserSet: # Update the last request date, update the requested document number by checking the CAE activeUserSet[ip].lastDate = date activeUserSet[ip].lastTime = time
import numpy as np import csv from time_diff import time_diff filename = 'all.csv' new_filename = 'newfile.csv' admittime = 2 deathtime = 3 target = 4 # FILE TO FIX all_scores = pd.read_csv(filename, delimiter='\t') col = all_scores.columns.values.tolist() all_scores = np.array(all_scores) corrected = 0 for i in range(len(all_scores)): adtime = all_scores[i][admittime] if all_scores[i][target] == 1: if time_diff(all_scores[i][admittime], all_scores[i][deathtime]) > 7: all_scores[i][target] = 0 corrected += 1 print(corrected) with open(new_filename, 'w') as csv_file: csvwriter = csv.writer(csv_file, delimiter='\t') csvwriter.writerow(col) for row in range(len(all_scores)): csvwriter.writerow(all_scores[row])