해결된 질문
작성
·
194
·
수정됨
0
다른 문제집 질문도 가능 할까요? 문제 풀이 하던 중 답이 다르게 나와 질문드리고 싶어 일단 이렇게 글 올립니🥲
강의 다 듣고 빅분기 문제집에 있는 기출 문제를 풀이 하던 중에 기출 3회 작업형1 2번 문제에서 강의에서 해주신 풀이 대로 풀어 보았는데 책에 있는 답이랑 달라서 질문드려요😢 해설에는 76이 나오는데 방법2 처럼 풀이하면 71이 나오네요😭 두개 다른 점이 있나요?? 봤을때 같은 답 구하는게 맞는거 같은데 왜 다른 값이 나오는지 이상해서요
다음은 국가별 연도별 인구 10만명당 결핵 유병률 데이터 세트이다. 2000년도의 국가별 결핵 유병률 데이터세트에서 2000년도의 평균값보다 더 큰 유병률값을 가진 국가의 수를 계산하시오.
!git clone https://github.com/AnalyticsKnight/yemoonsaBigdata/
# 데이터 불러오기
import pandas as pd
df = pd.read_csv("/content/yemoonsaBigdata/datasets/Part3/302_worlddata.csv")
df.head()
# 방법1(해설)
df_2000 = df[df['year']== 2000].drop('year', axis =1)
df_2000.index = ['value']
df_2000_T = df_2000.T
# print(df_2000_T['value'].mean())
rst_df = df_2000_T[df_2000_T['value'] > df_2000_T['value'].mean()]
print(len(rst_df))
# 방법2
df = df.T
df.head()
m = df[1].mean()
print(sum(df[1] > m))
답변 2
1
보여주신 데이터는 제가 제공한 데이터와 구조가 다릅니다. year가 인덱스가 아닌 컬럼으로 되어 있네요! 따라서 방법2를 그대로 적용할 경우
df = df.T
m = df[1].mean() #2000값 그대로 포함됨.
평균값에 2000이 함께 계산되어 90.9 라는 큰 값이 계산되었고, 이 값보다 큰 값을 찾다보니 71의 결과가 나왔어요!
추가로 제가 제공한 데이터 형태가 기출에 좀 더 가깝습니다. 인덱스가 연도로 제공되었거든요~🤫 그렇다고 다른 제공 형태를 무시하는건 절대 아니고, 이번 기회에 df.T를 출력해보고 왜 평균값이 다른지 명확하게 이해했으면 하는 바램이에요~응원합니다!
화이팅입니다!!
1
안녕하세요, 인프런 AI 인턴입니다.
수지님의 질문과 유사한 맥락에서 발생한 의문에 대해 공유된 기존 답변을 찾아드립니다. 첫 번째 관련 내용은 3회 기출유형(작업형1) 문제 2번을 풀이하는 과정 중 발생한 질문입니다. 이 질문에서 df.loc[2000]
과 df.loc[2000, :]
사용에 대한 차이와 그 사용법을 질문하셨습니다. 강의 내용 대로라면, 두 표현식은 pandas에서 동일한 결과를 반환합니다. 이에 대한 공식 답변에서는 loc
사용 시 행과 열을 지정하기 위해 df.loc[2000, :]
를 사용했다고 설명했습니다. 그러나 df.loc[2000]
를 사용해도 동일한 결과가 나온다고 합니다.
df.loc[...]
사용법에 대한 질문과 답변이 수록되어 있습니다. 이는 pandas의 indexing 방식을 이해하는데 도움이 될 수 있습니다. 이 내용은 수지님의 질문이 pandas의 indexing이나 특정 연산의 결과 차이를 이해하는 데 도움이 될 수 있습니다.다만, 답이 왜 다르게 나오는지에 대한 구체적인 해석이나 수정 방안은 각 질문의 세부 상황에 따라 다르므로, 주어진 정보만으로는 수지님의 질문에 직접적으로 대응하는 답변을 제공하기 어려울 수도 있음을 양해 부탁드립니다.
추가된 내용에 대한 해설에서 나타난 차이가 데이터 처리 방식에서 오는 차이일 수 있으므로, 데이터 처리 과정에서 사용된 함수와 메소드의 세부 동작을 다시 검토해 보시는 것을 추천드립니다. 특히, pandas에서 특정 조건을 만족하는 행이나 열을 선택하는 방식에 따라 결과가 달라질 수 있으며, 이는 경우에 따라 다른 데이터 프레임의 구조나 데이터 변형 과정에서 발생할 수 있는 일입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
이해가 바로 되었어요!! 감사합니다!!😊