Вычислите разницу во времени между двумя точками в одном столбце (ArcGIS)

#python #time #arcgis #difference

Вопрос:

Я пытаюсь рассчитать разницу во времени между двумя точками в ArcGIS, используя VBScript или Python. У меня есть набор данных из более чем 10 тысяч точек. У каждого есть координаты, даты и время. Я хочу создать новое поле и рассчитать разницу во времени в секундах.

Данные выглядят следующим образом:

Форма FID N E Дата и время

0 Баллов 4768252.94469 4768252.94469 2021/05/06 12:12:05

1 Балл 4768245.79949 4768245.79949 2021/05/06 12:12:11

2 Пункт 4768241.44071 4768241.44071 2021/05/06 12:12:15

3 Балла 4768237.3568 4768237.3568 2021/05/06 12:12:18

Таким образом, результат с отображением данных будет следующим»6, 4, 3, …». Я был бы очень признателен вам за помощь, так как я перепробовал много вещей, но ни одна из них не сработала.

Ответ №1:

Вот один из способов сделать это с помощью модуля Pandas для python.

Вы можете это сделать:

 # import module Pandas 
import pandas as pd

# Data as a python Dictionary. Can be imported as CSV too.
data = {
    'N' : ['4768252.94469', '4768245.79949', '4768241.44071', '4768237.3568'],
    'E' : ['4768252.94469', '4768245.79949', '4768241.44071', '4768237.3568'],
    'Time': ['12:12:05','12:12:11','12:12:15','12:12:18']
}
# Creating a Pandas Dataframe object 
df = pd.DataFrame(data)
# If you want to import the data from CSV use df = pd.read_csv('csvname.csv')
# Converting Time column to datetime object
df['Time'] = pd.to_datetime(df['Time'])
# print the differences
print(df["Time"].diff())
 

выход:

 1   0 days 00:00:06
2   0 days 00:00:04
3   0 days 00:00:03
 

Комментарии:

1. Большое вам спасибо за ваш ответ. Я довольно новичок в программировании, поэтому, если вы можете немного объяснить это, я был бы признателен.

2. Эй, я отредактировал ответ с более подробной информацией и комментариями. Поскольку вы имеете дело с табличными данными, я рекомендую использовать модуль Pandas для python, особенно если у вас 10 тысяч строк.

3. Да, теперь все более понятно, я попробую вот что. Большое вам спасибо

4. Эй, если решение сработало для вас, пожалуйста, подумайте о том, чтобы принять ответ! ура!