df['이름']과 df[['이름']]은 겉보기엔 비슷하지만 리턴 타입이 다릅니다.
쉽게 말하면, 전자는 “시리즈(Series)”, **후자는 “데이터프레임(DataFrame)”**이에요.
✅ 1️⃣ df['이름'] → Series (열 하나만 선택)
- 하나의 열(column) 을 선택해서 시리즈 형태로 가져옵니다.
- 즉, 1차원 데이터예요.
- 인덱스(행 번호)는 유지되지만, 열 이름이 사라집니다.
df['이름']
결과 예시:
0 김민수 1 이지은 2 박철수 Name: 이름, dtype: object
➡️ 결과가 Series이기 때문에 .shape 하면 (3,) 처럼 나와요.
➡️ 다른 열과 함께 쓰려면 DataFrame 형태로 다시 바꿔야 합니다 (.to_frame()).
✅ 2️⃣ df[['이름']] → DataFrame (열 여러 개 중 하나 선택)
- 대괄호를 이중으로 쓰면, 열 이름을 리스트로 지정하는 형태입니다.
- 따라서 결과가 **DataFrame 형태(2차원)**로 유지돼요.
- 즉, 표(table) 모양 그대로 유지되죠.
df[['이름']]
결과 예시:
이름 0 김민수 1 이지은 2 박철수
➡️ 결과가 DataFrame이기 때문에 .shape 하면 (3, 1) 로 나와요.
➡️ 여러 열을 한 번에 가져올 수도 있습니다:
df[['이름', '나이', '성별']]
✅ 3️⃣ 쉽게 비유하자면
코드 비유결과 형태
| df['이름'] | 표에서 “이름” 한 줄만 뜯어낸 리스트 | Series (1D) |
| df[['이름']] | 표에서 “이름” 열만 남긴 작은 표 | DataFrame (2D) |
✅ 4️⃣ 실전에서의 차이
- Series로는 연산, 통계, 그래프 등에 바로 쓰기 편함
-
df['나이'].mean()
- DataFrame으로는 다른 열과 함께 병합, 인덱싱 유지, 모델 입력 등에 유용
-
df[['나이']].mean() # 여전히 DataFrame으로 결과
요약하자면 👇
df['이름'] → 결과가 Series (1차원)
df[['이름']] → 결과가 DataFrame (2차원)
'데이터 분석' 카테고리의 다른 글
| Boxplot 예시를 통해 설명(+ 장바구니 이탈 여부 예측 문제) (0) | 2025.10.15 |
|---|---|
| 데이터프레임과 시리즈 차이(+ 파이썬, 데이터 분석) (0) | 2025.10.12 |
| 스케일링 변환(+ 파이썬, 정규화 Normalization, 표준화 Standardization, scikit-learn 홈페이지 참조) (0) | 2025.10.10 |
| AICE Basic 자격증 합격 후기 (0) | 2025.10.10 |
| 데이터분석 참고 블로그 (0) | 2025.10.10 |