Я пытаюсь найти разницу во времени между двумя колонками следующего кадра:Нахождение между двумя колоннами в DataFrame
Test Дата | Тип теста | Первое использование Дата
я использовал следующее определение функции, чтобы получить разницу:
def days_between(d1, d2):
d1 = datetime.strptime(d1, "%Y-%m-%d")
d2 = datetime.strptime(d2, "%Y-%m-%d")
return abs((d2 - d1).days)
И это прекрасно работает, однако он не принимает серию в качестве входных данных. Поэтому я должен был построить цикл, который перебирает индексы:
age_veh = []
for i in range(0, len(data_manufacturer)-1):
age_veh[i].append(days_between(data_manufacturer.iloc[i,0], data_manufacturer.iloc[i,4]))
Однако он возвращает ошибку: IndexError: индексный список из диапазона
Я не знаю, является ли это правильный путь делать то, что я делаю неправильно, или альтернативное решение будет высоко оценено. Пожалуйста, имейте в виду, что у меня около 2 миллионов рядов.
Почему бы вам просто не преобразовать столбцы в datetime, а затем просто вычесть cols? 'df ['Test Date'] = pd.to_datetime (df ['Test Date'] и т. д., а затем' df ['Test Date'] - df ['First Use Date'] 'вернет timedelta – EdChum
Это должно сделать, спасибо! –