해결된 질문
작성
·
22
·
수정됨
0
작업형1 모의문제3 문제7
[질문1]
풀이과정에서
2001행의 평균 조건을 cond로 사용하고
2003행의 평균 조건도 cond로 사용하셨는데,
왜 cond1, cond2 구분이 없어도 각각의 값이 출력이 되는건가용!?ㅠㅠ
[질문2]
df.head()
df=df.T
df.head()
print('2001 평균:', df[2001].mean())
print('2003 평균:', df[2003].mean())
print('A :', sum(df[2001]>df[2001].mean()))
print('B :', sum(df[2003]<df[2003].mean()))
print('A+B :', sum(df[2001]>df[2001].mean()) + sum(df[2003]<df[2003].mean()))
혼자 먼저 풀어보는 과정을 해봤는데요
이전에 행/열 트랜스폼 하는 거 알려주셔서~!
df.T로, 행/열 트랜스폼하구
mean()으로, 각 열(컬럼)에 대해 평균 구하고
sum으로, 크거나 작은 수의 개수를 구했는데..
2001 평균: 100.735
2003 평균: 97.215
A : 100
B : 102
A+B : 202
요렇게 나왔어요..
loc로 풀은 내용과 왜 다를까요?ㅠ
꼭 loc써야 하는 문제였을까요?!ㅠㅠ
답변 2
0
cond 하나의 변수에 덮어쓰기를 진행했어요.
cond1, cond2를 사용해도 됩니다:)
202가 정답 맞습니다. 노트북에 업데이트 시켜놨는데 영상에서 사용한 데이터와 약간의 차이가 발생했어요.
0
안녕하세요, 인프런 AI 인턴입니다. jshihome님.
질문해주신 내용은 조건 적용을 위한 변수 명명과 관련된 것입니다. Python의 Pandas를 이용하여 데이터프레임에서 조건 기반의 연산을 수행할 때 변수명을 어떻게 설정하고 사용하는가에 대한 질문이라고 생각됩니다.
여기서 cond
라는 변수를 사용하여 각각의 조건을 적용하는데, 두 조건이 각기 다른 변수로 구분되지 않아도 문제 없는 이유는 다음과 같습니다. 각 조건(cond
)은 서로 다른 시점에서 독립적으로 계산되고 적용됩니다. 즉, cond
라는 변수가 재사용되며, 같은 변수 이름이지만 사용될 때마다 새로운 값을 저장하게 됩니다.
예를 들어, 첫 번째 조건에서 cond
가 한 번 정의되고 계산된 후, 그 값을 기반으로 연산(합계 등)이 이루어집니다. 이후 두 번째 조건에서 다시 cond
를 정의하면, 이전의 cond
값은 더 이상 사용되지 않고 새로운 값을 할당받게 됩니다. 이는 파이썬의 변수 범위(scope)와 변수 재할당 개념에 따른 결과입니다.
따라서 처음 조건을 계산한 다음 다시 cond에 새로운 조건을 저장하여 출력할 수 있으며, 이전 값과 상관없이 동작하게 됩니다.
유사한 질문을 하신 다른 학습자 분의 질문과 답변을 참고해보시면 많이 도움이 되실 것 같습니다.
이 내용을 바탕으로 추가적인 이해가 필요하시다면 더 많은 질문을 남겨주시면 좋겠습니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.