pandas와 DataFrame
NumPy
복잡한 수학 연산을 할 때 사용
NumPy array 단점
- 가독성이 떨어짐
- 정보에 대한 레이블 삽입 불가
- 한 가지 데이터 타입만 사용 가능
pandas
NumPy를 기반으로 만들어진 데이터 분석 라이브러리
데이터 불러오기, 가공하기, 분석하기, 시각화하기 등 표 형태의 데이터를 간편하게 다루고 싶을 때 사용
4개의 행(로우) 3개의 열(컬럼)
0,1,2,3 = 로우의 이름/인덱스
DataFrame을 만드는 다양한 방법
import pandas as pd
import numpy as np
dict_df = pd.DataFrame({
'category': ['skirt', 'sweater', 'coat', 'jeans'],
'quantity': [10, 15, 6, 11],
'price': [30000, 60000, 95000, 35000]
})
two_dimensional_list = [
['skirt', 10, 30000],
['sweater', 15, 60000],
['coat', 6, 95000],
['jeans', 11, 35000]
]
two_dimensional_array = np.array(two_dimensional_list)
list_df = pd.DataFrame(two_dimensional_list)
array_df = pd.DataFrame(two_dimensional_array)
list_df = pd.DataFrame(two_dimensional_list, columns=['category', 'quantity', 'price'])
array_df = pd.DataFrame(two_dimensional_array, columns=['category', 'quantity', 'price'])
데이터 불러오기
숫자 대신 인덱스를 지정해줄 수 있다.
대신 겹치는 이름은 불가능
컬럼 번호를 써도 똑같음
DataFrame에서 일부만 선택하기
실습
import pandas as pd
players_df = pd.read_csv('data/tottenham_2021.csv', index_col='name')
# 여기에 코드를 작성하세요.
players_df.loc['Son Heung-Min','goals']
#결과 17
DataFrame과 불린 인덱싱 (중요)
실습
import pandas as pd
players_df = pd.read_csv('data/tottenham_2021.csv', index_col='name')
# 여기에 코드를 작성하세요.
players_df[players_df['goals'] >= 1]
데이터 수정 및 추가하기
한 개의 값 수정하기
전체 로우값 수정하기
전체 컬럼값 수정하기
전체 컬럼값 동일한 값으로 수정하기
새로운 로우 추가하기
새로운 이름이 들어가면 추가되고, 원래 있던 이름이 들어가면 수정된다.
조건에 따라 새로운 컬럼 추가하기
실습
import pandas as pd
players_df = pd.read_csv('data/tottenham_2122.csv', index_col='name')
# 여기에 코드를 작성하세요.
players_df.loc['Son Heung-Min'] = [35, 3051, 23, 7]
players_df.loc['Ben Davies', 'matches'] = 29
players_df['team'] = 'Tottenham'
players_df
pandas에서 그래프 그리기
전에 배운대로 그려도 되지만, 판다스가 알아서 그려주기도 한다.
판다스가 그려준게 마음에 안들면 내가 x,y축을 다시 설정할 수도 있다.
차트 모양도 설정할 수 있다.
레이블 추가도 가능
코드잇 10.pandas
'마케팅 > 데이터 분석' 카테고리의 다른 글
[파이썬] seaborn (0) | 2025.03.13 |
---|---|
[파이썬] 통계 기본 상식과 그래프 (1) | 2025.03.09 |
[파이썬] Matplotlib (1) | 2025.02.25 |
[파이썬] NumPy (0) | 2025.02.25 |
[파이썬] 리스트/사전과 for 반복문 (0) | 2025.02.24 |