• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

EDA/pandas/시각화로 이커머스 거래액 상세 분석1 11:02

24.01.07 22:01 작성 24.01.07 23:19 수정 조회수 119

0

 

 

l1. ine 48은 실행되고

line49실행될때 에러가 발생하는 이유가 뭔가요? 문법적으로 어디가 틀린거죠?

line48과 49 같은 의미로 사용하려는데.

payments에 order _id 있으니까 [[]]으로 다가가서 값 꺼내오는게 왜 틀렸을까요. 어떤개념이 잘못된거죠

 

 

 

 

 

 

ps

 

line46

print(payments)

 

 

 





line48

-

line49

 

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변 도우미입니다.

우선 아직 자신이 작성한 코드에서 이슈가 있을 때, 어떤 이슈인지 파악하시는 과정이 어색하시다면, 우선은 강의에서 제공해드린 코드를 다운로드 받으셔서 그대로 실행해보시면서 강의와 문법을 파악하시는 것이 더 효과가 좋습니다.

추가로 문의하신 부분에 대해서는

이미지에 있는 코드를 보면, line 48과 line 49에서 pandas의 indexing을 사용하여 payments 데이터프레임에서 데이터를 선택하려고 하고 있습니다.

Line 48에서는 payments[payments.index == 'fa65dad1b0e818e3cc5cb0e39231352'] 형식을 사용하고 있습니다. 이는 payments 데이터프레임의 인덱스를 이용하여 특정 인덱스 값을 가진 행을 선택하는 방법입니다. 이 경우 정상적으로 작동합니다.

반면, line 49에서는 payments[payments['order_id'] == 'fa65dad1b0e818e3cc5cb0e39231352'] 형식을 사용하고 있습니다. 여기서 payments['order_id']payments 데이터프레임의 'order_id' 열을 선택하고, 그 열에 대해 주어진 조건('order_id' 값이 'fa65dad1b0e818e3cc5cb0e39231352'인 경우)에 맞는 행을 필터링합니다. 이 방식도 문법적으로는 맞으며, 정상적으로 작동해야 합니다.

Line 49에서 문제가 발생하는 경우는 다음과 같을 수 있습니다:

  1. order_id 열이 payments 데이터프레임에 존재하지 않을 때.

  2. order_id 열의 데이터 타입이 문자열이 아니고, 직접적으로 문자열과 비교를 시도할 때.

  3. payments 데이터프레임이 수정되어 원하는 order_id 값을 포함하고 있지 않을 때.

에러 메시지가 없어서 정확한 문제를 파악하기 어렵지만, 이러한 경우에 해당하는지 확인해보시기 바랍니다.

만약 order_id 열이 존재하고, 올바른 데이터 타입을 가지며, 해당 값이 데이터프레임에 존재한다면, line 49의 코드는 정상적으로 작동해야 합니다. 에러가 발생하는 경우 에러 메시지를 통해 추가적인 단서를 얻을 수 있습니다.