У меня есть набор данных, как это:Strptime возвращаются все строки панды dataframe вместо только один ряд
Policy | Customer | Employee | CoveredDate | LapseDate
123 | 1234 | 1234 | 2011-06-01 | 2013-01-01
124 | 1234 | 1234 | 2016-01-01 | 2013-01-01
124 | 5678 | 5555 | 2014-01-01 | 2013-01-01
Я пытаюсь перебирать каждую политику для каждого сотрудника каждого клиента (клиент может иметь много сотрудники, сотрудник может иметь несколько политик) и сравнить приведенную дату с датой истечения срока действия конкретного сотрудника. Если закрытая дата и дата простоя не превышают 5 дней, я хотел бы добавить эту политику в список результатов.
До сих пор я использовал этот код:
import pandas
import datetime
wd = pandas.read_csv(<<FILE LOCATION>>)
Resultlist=[]
for Customer in wd.groupby(['Employee', 'Customer']):
for Policy in wd.groupby(['Employee', 'Customer']):
EffDate = datetime.datetime.strptime(str(wd['CoveredDate']),'%Y-%m-%d')
for Policy in wd.groupby(['Employee', 'Customer']):
lapsedate = datetime.datetime.strptime(str(wd['LapseDate']),'%Y-%m-%d') + datetime.timedelta(days=5)
if effdate < LapseDate:
Resultlist.append(wd['Policy','Customer'])
я в конечном итоге получаю сообщение об ошибке, когда функция strptime берет каждый строки моего dataframe в качестве входных данных, вместо того, чтобы сосредоточить внимание на итерация это в данный момент - это для моего примера выше, я хотел бы получить:
ValueError: time data '0 2011-06-01\n1 2016-01-01\n2 2014-01-01\nName:
CoverageEffDate, DTYPE: объект»не соответствует формату '% Y-% m-% d'
Я не совсем уверен, почему он пытается задействовать каждый объект, поскольку я следил за форматом нескольких других ответов на SE, подробно описывающих, как итерации через кадр данных pandas - я был бы очень признателен, если кто-то может мне помочь это!
Вы можете поделиться ожидаемой продукцией? – Shijo