Это немного сложно, и я очень ценю любую помощь! Я пытаюсь случайным образом выбирать строки из файла .csv. По сути, мне нужен результирующий файл уникальных местоположений (местоположения указаны в столбцах Easting
и Northing
файла данных ниже). Я хочу случайным образом выбрать 1 местоположение за 12-часовой период за SessionDate
в этом файле (12-часовые периоды разделены на: между 0631
и 1829
часами и между 1830
и 0630
часами; указаны как Start:
и End:
в файле данных ниже); НО, если любые 2 места находятся в пределах 6 часов друг от друга (на основе их Start:
времени), то это место будет отброшено, а новое место будет выбрано случайным образом, и эта выборка будет продолжаться до тех пор, пока не будут нарисованы новые места (т. , выборка БЕЗ замены). Я пытался сделать это с помощью python, но мой опыт очень ограничен. Сначала я попытался поместить каждую строку в словарь, а недавно каждую строку в список следующим образом:
import random
import csv
f = open('file.csv', "U")
list = []
for line in f:
list.append(line.split(','))
Я не уверен, куда идти дальше - как выбирать из этих списков так, как мне нужно, а затем записывать их в выходной файл с моими «уникальными» местоположениями.
Вот несколько верхних строк моего файла данных:
SessionDate Start: End: Easting Northing
27-Apr-07 18:00 21:45 174739 9785206
28-Apr-07 18:00 21:30 171984 9784738
28-Apr-07 18:00 21:30 171984 9784738
28-Apr-07 18:00 21:30 171984 9784738
28-Apr-07 18:00 21:30 171984 9784738
Это немного усложняется, поскольку некоторые наблюдения охватывают полночь, поэтому они могут быть в разные даты, но могут быть в пределах 6 часов друг от друга (поэтому у меня есть этот критерий), например:
SessionDate Start: End: Easting Northing
27-Apr-07 22:30 23:25 171984 9784738
28-Apr-07 0:25 1:30 174739 9785206
SessionDate
) - person jorgeh   schedule 12.05.2015collections.groupby
иrandom.choice
- person m.wasowski   schedule 12.05.2015