필자는 동등해야한다고 생각하는 팬더 코드 두 조각을 가지고 있지만 두 번째 코드는 예상 한대로 수행하지 않습니다.팬더 데이터 프레임을 구축 할 때 논리 연산자 사용
# snippet 1
data = all_data[[((np.isfinite(all_data[self.design_metric][i])
and all_data['Source'][i] == 2))
or ((np.isfinite(all_data[self.actual_metric][i])
and all_data['Source'][i] != 2))
for i in range(len(all_data))]]
# snippet 2
data = all_data[(all_data['Source'] == 2 &
np.isfinite(all_data[self.design_metric])) |
(all_data['Source'] != 2 &
np.isfinite(all_data[self.actual_metric]))]
각 섹션 (예 : all_data['Source'] == 2
) 내가 스스로 기대하지하지만리스트 통합 버전으로 다른 결과로 나오고 내가 최종 결과와 논리 연산자에 뭔가를하고 있어요 보인다 .