조건에 따라 DB의 여러 열을 업데이트해야합니다. 나는 numpy.where를 사용하고 있으며 변경하지 않는 것을 선호합니다. 그래서 다른 5 열 ..에 대한Python은 where와 함께 여러 열을 업데이트합니다. 오류를 함께 브로드 캐스트 할 수 없습니다.
DB['Start'] = np.where(((DB['Start Date']<=time_delta) | (DB['Start Date'].isnull()) | (DB['Start Date'] == "")),DB['Start'],DB['Start Date'])
DB['End'] = np.where(((DB['Start Date']<=time_delta) | (DB['Start Date'].isnull()) | (DB['Start Date'] == "")),DB['End'],DB['End Date'])
및 그러나 이것은 효율적인 계산되지 않을 것 : 여기
은 내가 할 수있는 것입니다.
는 다음과 같이해야 좋을 것이다 :
DB[['Start','End']] = np.where(((DB['Start Date']<=time_delta) | (DB['Start Date'].isnull()) | (DB['Start Date'] == "")),DB[['Start','End']],DB[['Start Date','End Date']])
을하지만 그것은 작동하지 않으며 다음과 같은 오류 메시지가 있습니다 : "피연산자 모양 (10)과 함께 방송 할 수없는 (10,2)를 (10,2).
numpy.where 조건에 따라 여러 열을 효율적으로 업데이트하는 방법에 대한 제안 사항이 있습니까?
예제 데이터를 추가 하시겠습니까? – Divakar
도움이 될지 모르겠지만 TID, 시작, 종료, M, B, TaskID, 시작 날짜, 종료 날짜, 시스템, 게시판의 DB 열입니다. 데이터의 경우이 테스트를 위해 임의의 데이터를 입력하기 만하면됩니다. 관련 없음 – Filippo