Recent Posts
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
250x250
Tags
- 파이썬
- 빅데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- 이기적
- 데이터베이스
- 네이버부스트캠프
- [멀티잇]데이터 시각화&분석 취업캠프(Python)
- 오라클
- 부스트코스
- 기초다지기
- python
- DB
- boostcoures
- 난생처음 R코딩&데이터 분석 저서
- AI 플랫폼을 활용한 데이터 분석
- r
- Ai
- 데이터 분석 기반 에너지 운영 관리자 양성 및 취업과정
- 인공지능기초다지기
- SQL
- 빅데이터분석기사
- 정보처리기사
- PY4E
- 코딩테스트
- 코딩테스트 python
- Machine Learning
- 이것이 취업을 위한 코딩테스트다 with 파이썬
- 빅분기
- Oracle
- boostcourse
- 프로그래머스
- Today
- Total
매일공부
[파이썬] 왜 항상 groupby는 집계함수랑 같이 써야하는가 본문
커리큘럼에 포함된 파이썬 기초수업을 들으면서 전체 함수랑 모듈 리마인드하다가 계속 궁금했던 사실을 발견
gap = pd.read_csv('data/gapminder.tsv', sep='\t')
gap.sample(5)
gap_gpd = gap.groupby('continent')
gap_gpd
#<pandas.core.groupby.generic.DataFrameGroupBy object at 0x000002D70A3E2D70>
>> 왜 항상 그룹을 하면 주소값으로 저장이 되는 걸까하고 궁금해야하면서 항상 하라는데로 집계함수 사용했음
print(gap_gpd.groups)
#{'Africa': [24, 25, 26, 27, 28, 29, 30, 31, 32, ...], 'Americas': [48, 49, ...] ...
그러다가 groups라는 함수가 있기에 그냥 찍어보니 딕셔너리 형식으로 저장이 되어 있음
그래서 든 생각. 그냥 DataFrame을 사용하면 안되나?
pd.DataFrame(gap_gpd.groups)
# raise ValueError(
# 670 "Mixing dicts with non-Series may lead to ambiguous ordering."
# 671 )
# ValueError: All arrays must be of the same length
에러를 보고 아차 싶었음
그룹을 하면 그룹간의 크기가 항상 같다는 보장이 없음.
그래서 길이가 동일해야하는 dataframe을 만들 수 없어서, 주소값으로 저장이 됨.
길이를 맞춰 통계형식으로 집계함수를 사용해서 dataframe으로 반환하는 형식
이걸 이전에 접할 때는 정말 파이썬 초보였구나 싶으면서도 에러를 보고 이제는 바로 이해가 된다는 사실이 신기함.
728x90
'Programming > Python' 카테고리의 다른 글
[python] 문자열인 숫자 판단 (0) | 2023.06.20 |
---|---|
[python] 진법&자료형 변환 Casting 함수 (0) | 2023.06.19 |
[Python Pandas] Dataframe 다중 인덱스 & 병합, 연결 (0) | 2022.09.14 |
[Python] Pandas를 활용한 데이터 수집 (0) | 2022.09.02 |
Python Pandas 차집합&대칭차집합 구하기 (0) | 2022.08.29 |
Comments