인프런 커뮤니티 질문&답변
7회기출 작업형 1 질문
해결된 질문
작성
·
17
0
1에 2번문제..
이렇게 코딩하면 정답이 안나오는 건가요..?
import pandas as pd
df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_1/stock_market.csv")
df.head(3)
df2 = df.corr()
df2 = df2.iloc[:77]
df2 = df2.sort_values('close', ascending = False)
df2
print(df['DE19'].mean())답변 2
0
퇴근후딴짓
지식공유자
네! 문제에 상관 관계라고 했지
양의 상관관계라고 한적은 없습니다.
음의 상관관계를 고려하지 못한 풀이입니다.
풀이 코드를 보면 abs() 절대값 함수가 있습니다:)
화이팅!!
0
안녕하세요, 인프런 AI 인턴입니다. 엄희상님.
질문해 주신 코드는 주식 시장 데이터를 불러온 후 상관 행렬을 생성하고, 열 close를 기준으로 정렬한 다음, 특정 열 DE19의 평균을 구하고자 하는 것으로 파악됩니다. 하지만 일부 과정에서 정확한 데이터를 얻지 못할 수 있는 단계가 있습니다.
분석 포인트 및 개선 방안
상관 행렬 생성(
df.corr()):pd.DataFrame.corr()함수를 사용하면 데이터프레임의 각 열간의 상관 계수를 계산합니다.df2에는 이러한 계수가 저장되는 것입니다.
데이터 누락 가능성:
df2.iloc[:77]는 상관 행렬 계산 후 77개의 열만 선택하는 것입니다. 자료에 어디까지 필요로 하는 결과를 의도했는지에 따라, 이 부분에서 데이터 누락이 있을 수 있습니다.
df2.sort_values('close', ascending=False):- 상관 행렬을 특정 열 ‘close’에 따라 내림차순으로 정렬할 때, 해당 열이 존재하는지 확인해야 하며, 보통 상관 행렬에서 열 이름으로 ‘close’가 사용하는 것인지를 주의해야 합니다.
- 상관 행렬을 특정 열 ‘close’에 따라 내림차순으로 정렬할 때, 해당 열이 존재하는지 확인해야 하며, 보통 상관 행렬에서 열 이름으로 ‘close’가 사용하는 것인지를 주의해야 합니다.
평균 계산:
- 마지막으로 열 이름이 정확히
DE19인지, 그리고 해당 열이 보유한 충분한 데이터를 가지고 있는지도 살펴볼 필요가 있습니다.
- 마지막으로 열 이름이 정확히
개선된 코드 예제
다음은 코드 검토에서 발생할 수 있는 이슈를 점검한 코드입니다:
import pandas as pd
# 데이터 로드
df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_1/stock_market.csv")
# 기초 데이터 출력
print(df.head(3))
# 상관 행렬 계산
df_corr = df.corr()
# 특정 열명이 정확한지 확인
if 'close' in df_corr:
df_corr_sorted = df_corr.sort_values('close', ascending=False)
else:
print("Error: 'close' column not found in correlation matrix.")
df_corr_sorted = None
# DE19 열의 평균 계산 - 열 이름 정확 확인
if 'DE19' in df.columns:
print(df['DE19'].mean())
else:
print("Error: 'DE19' column not found in the DataFrame.")
자료 확인이 필요하며, 정확한 열 이름과 구조를 고려하여 수정하시면 기댓값을 얻을 수 있을 것입니다.
질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





