728x90
DataFrame을 활용하면 라벨이 있는 2차원 데이터를 생성하고 처리할 수 있다.
pd.DataFrame()
table_data = {
'연도' : [2015, 2016, 2016, 2017, 2017],
'지사' : ['한국', '한국', '미국', '한국', '미국'],
'고객 수' : [200, 250, 450, 300, 500]
}
data = pd.DataFrame(table_data)
data
# result
data.index
output: RangeIndex(start=0, stop=5, step=1)
------------------------------------------------------
data.values
output: array([[2015, '한국', 200],
[2016, '한국', 250],
[2016, '미국', 450],
[2017, '한국', 300],
[2017, '미국', 500]], dtype=object)
------------------------------------------------------
data.columns
output: Index(['연도', '지사', '고객 수'], dtype='object')
리스트 형태로 데이터 생성
table_data3 = {'봄': [256.5, 264.3, 215.9, 223.2, 312.8],
'여름': [770.6, 567.5, 599.8, 387.1, 446.2],
'가을': [363.5, 231.2, 293.1, 247.7, 381.6],
'겨울': [139.3, 59.9, 76.9, 109.1, 108.1]}
columns_list = ['봄', '여름', '가을', '겨울']
index_list = ['2012', '2013', '2014', '2015', '2016']
df3 = pd.DataFrame(table_data3, columns = columns_list, index = index_list)
df3
# result
데이터 연산
리스트와 Numpy의 배열과 다르게, 서로 크기가 달라도 연산할 수 있으며, 크기가 달라 연산할 수 없는 부분은 nan (결측치)로 뜸
table_data1 = {'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]}
df1 = pd.DataFrame(table_data1)
df1
table_data2 = {'A': [6, 7, 8],
'B': [60, 70, 80],
'C': [600, 700, 800]}
df2 = pd.DataFrame(table_data2)
df2
df1 + df2
# result
통계분석을 위한 다양한 메서드 사용
칼럼 기준 결과값 나옴
*describe()는 다양한 메서드를 한번에 구할 수 있음
axis 인자 추가하여 행별 연산 가능
axis 생략시 위와같이 열별로 연산 수행
axis=0 : 열 방향 연산 수행 ( 생략 가능)
axis=1 : 행 방향 연산 수행
728x90
'Python > Python 기초문법' 카테고리의 다른 글
Python - Pandas iloc와 loc의 차이 (0) | 2024.01.04 |
---|---|
Python - Pandas DataFrame에서 일부 데이터 추출 (1) | 2024.01.04 |
Python - Pandas 데이터 생성 & 날짜 자동 생성 (0) | 2024.01.04 |
Python - Numpy 조건문 (0) | 2024.01.04 |
Python - Numpy 배열의 연산 & 인덱싱과 슬라이싱 (0) | 2024.01.04 |