작업형1 모의문제 4번에 3)문제 질문
안녕하세요 강사님
정답이
views_min=df.iloc[:10]['views'].min
df.iloc[:10, -1]=views_min
인데,
df=df.iloc[0:10]
df['views']=df['views'].min()
이렇게 쓰면 안될까요??
답변 2
0
df=df.iloc[0:10]
이 코드에서 만약 100개의 데이터가 있었다면 10개로 슬라이싱이 되버렸습니다.
그럼 10개의 데이터만 df에 남아 있는데
특정 컬럼 합계를 묻게 되면 나머지 90개는 알 수가 없습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 연정님.
질문하신 코드들은 pandas 라이브러리에서 데이터프레임을 사용하는 방법에 대한 것으로, 두 코드의 차이는 데이터 처리의 방식에 있습니다. 코드를 살펴보면:
정답 코드:
views_min = df.iloc[:10]['views'].min() df.iloc[:10, -1] = views_min- 위 코드는 데이터프레임에서 첫 10개의 행의 ‘views’ 열에 대해 최소 값을 찾은 후, 이 값을 첫 10개의 행의 마지막 열에 할당하는 방식입니다.
- 위 코드는 데이터프레임에서 첫 10개의 행의 ‘views’ 열에 대해 최소 값을 찾은 후, 이 값을 첫 10개의 행의 마지막 열에 할당하는 방식입니다.
제안한 코드:
df = df.iloc[0:10] df['views'] = df['views'].min()- 이 코드는 데이터프레임을 처음 10개의 행으로 슬라이싱하고, ‘views’ 열 전체에 대해 그 최소 값을 할당합니다.
- 이 코드는 데이터프레임을 처음 10개의 행으로 슬라이싱하고, ‘views’ 열 전체에 대해 그 최소 값을 할당합니다.
두 코드의 차이점
- 정답 코드는 기존 df의 첫 10개 행에 대해 특정 열의 값을 변경할 뿐, 전체 df의 구조를 변경하지 않습니다.
- 제안한 코드는 df를 초기 슬라이싱한 10개의 행으로 제한합니다. 또한, ‘views’의 모든 값을 최소값으로 일괄 대체하며, 원본 데이터프레임의 구조를 손상시킬 수 있습니다.
둘 다 결과적으로 ‘views’ 열의 값이 최소값으로 지정되지만, 데이터프레임 전체에 걸친 연산의 영향과 후속 처리에 필요한 원본 데이터프레임의 보존 여부를 기준으로 선택할 수 있습니다. 따라서, 본래의 문제 또는 후속 처리와 연계된 특정 요구 사항에 부합하는 코드를 선택하는 것이 중요합니다.
보다 구체적인 설명은 유사한 질문에서 참고할 수 있습니다. 이 유사한 질문은 pandas의 인덱싱 및 슬라이싱 방식에 대한 더 많은 인사이트를 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
수강기간 연장 문의드립니다.
0
4
1
작업형1 - 연습문제 1번 관련 질문입니다.
0
29
2
강의 자료 16~39 관련
0
38
2
데이터 전처리 시 문의
0
40
2
random_state 값
0
35
2
인코딩 사용여부
0
44
2
인코딩 전 데이터 합치기 질문드립니다!
0
40
1
섹션5. 회귀 강의 관련 질문드립니다
0
43
2
수강기간연장 문의드립니다
0
49
2
수강 연장 문의
0
46
2
label 인코딩 에러 발생 원인
0
43
2
LabelEncoding 시 train data 학습(fit_transform, transform)
0
43
2
로지스틱 회귀분석은 옛날거 밖에 없나요?
0
49
2
판다스 표 표시
0
36
3
1유형 강의 다 나간 후 어떻게 할까요?
0
44
2
점수차가 많이 나는데 따로 하신게 있으신가요?
0
44
2
이상치 전처리 작업
0
47
2
평가결과값 문의
0
35
2
시계열 데이터 날짜와 시간 format
0
46
2
평가지표 F1 스코어 질문드립니다.
0
33
2
작업형 2 기출7회분에서
0
45
2
작업형2 모의문제1 (30강)
0
37
2
수강 기간 연장 문의 드립니다.
0
55
2
수강 계획과 관련해 문의 드립니다.
0
38
2





