#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. Эй, если решение сработало для вас, пожалуйста, подумайте о том, чтобы принять ответ! ура!