Вот мой упрощенный кадр входных данных теста
date_time
24.01.2025 12:00:00.000
24.01.2025 12:05: 00.000
24 января 2025 г. 12:10:00.000
тестовый код
Код: Выделить всё
from datetime import datetime, timezone
import pandas as pd
str_event_time = '2025-01-24T011:55:00.000Z'
event_time = datetime.strptime(str_t_zero_time,'%Y-%m-%dT%H:%M:%S.%fZ')
def calculate_time_diff(date_time):
#calculate the time diff in seconds
time_diff_secs = (date_time - event_time).total_seconds()
#save total second into new column in df
# ???
# minutes and seconds
m, s = divmod(abs(time_diff_secs), 60)
# hours and minutes
h, m = divmod(m, 60)
time_diff_string = 'T{:+03.0f}:{:02.0f}:{:05.2f}'.format(h if t_time_seconds >= 0 else -h, m, s)
return time_diff_string
def main():
#create new columns
df.insert(1,'time_delta',None,allow_duplicates=True)
df.insert(1,'time_diff_s',None,allow_duplicates=True)
time_format = '%Y-%m-%dT%H:%M:%S.%fZ'
df['time_delta'] = df['date_time'].apply(calculate_time_diff)
< div class="s-table-container">
time_diff_s
time_delta
date_time
< tr>
300
T-00:05:00.00
24.01.2025 12:00:00.000< /td>
600
T-00:10:00.00
2025-01-24 12:05:00.000
900
T-00:10:00.00
24 января 2025 12:10:00.000
< /tbody>
как я могу сохранить данные в столбце df['time_delta'] и df['time_diff_s'] на основе значение date_time каждый раз, когда вызывается функция применения? У меня нет большого опыта использования функции Apply, и я думал, что это более эффективно, чем циклический просмотр кадра данных. Я хотел бы узнать, как лучше всего обновить несколько столбцов в кадре данных на основе расчета другого столбца.
Подробнее здесь: https://stackoverflow.com/questions/793 ... ulated-val
Мобильная версия