파이썬에는 이벤트 목록이 포함 된 테이블이있는 SQlite 데이터베이스가 있습니다.데이터 프레임의 새로운 행을 결정하십시오.
열 :
EventName
StartDate
EndDate
DateAdded
같은 이벤트가 여러 날 테이블에 추가 할 수 있습니다. 테이블은 하루에 한 번 새로 고쳐집니다.
오늘 날짜에 추가 된 이벤트와 이전 날짜에 추가 된 이벤트를 비교하여 새로운 이벤트가 있는지 매일 확인해야합니다.
나는 내가 이것을 달성하기 위해 SQL을 작성할 수 있습니다 가정 :
SQL 즉 사용하여 팬더 나 다른 데이터 구조없이 할 수있는 방법이 있다면 내가 궁금SELECT e.EventName ,
e.StartDate ,
e.EndDate ,
e.DateAdded
FROM Events AS e
WHERE e.DateAdded = '2017-09-13'
AND NOT EXISTS ( SELECT e2.EventName ,
e2.StartDate ,
e2.EndDate ,
e2.DateAdded ,
e2.EventName
FROM Events AS e2
WHERE e2.DateAdded < '2017-09-13'
AND e2.EventName = e.EventName
);
? 이유는 코드가 SQL 데이터를 여러 번 참조하며 데이터베이스를 한 번 쿼리 한 다음 해당 위치에서 데이터를 조작 할 수 있다면 자원 집약이 적을 것이라고 생각합니다.
샘플 데이터 : 2017년 9월 2일에서이 작업을 실행하면 내가 마지막 행을 반환 할
EventName Startdate EndDate DateAdded
Liverpool 2017-07-01 2017-07-10 2017-09-01
Manchester 2017-08-01 2017-08-20 2017-09-01
Liverpool 2017-07-01 2017-07-10 2017-09-02
Manchester 2017-08-01 2017-08-20 2017-09-02
London 2017-10-01 2017-10-10 2017-09-02
:
당신이 팬더 DataFrame로 기존 SQL 테이블을 읽을 경우London 2017-10-01 2017-10-10 2017-09-02
샘플 데이터와 예상 출력을 추가 할 수 있습니까? –