-
[python] 파이썬을 이용한 빅 데이터 실습 4- DataFrameLanguages/python 2021. 10. 30. 18:04반응형
DataFrame
주요속성과 함수 실습
DataFrame 속성 조회하기(속성을 조회할 때에는 ()를 사용하지 않으니 주의!!!!)
값이 들어있는 데이터프레임 생성
# 3. 사전 타입 데이터를 이용하여 데이터 프레임 생성하기 인구통계 = {'서울': [950, 945, 938.5], '대전':[50, 151, 145], '대구':[85, 88, 92], '부산':[180, 187, 192], '광주':[74, 80, 80] } df3 = DataFrame(data = 인구통계, index = [2018,2019,2020]) df3
실행결과
df3 데이터프레임 생성 서울 대전 대구 부산 광주 2018 950.0 50 85 180 74 2019 945.0 151 88 187 80 2020 938.5 145 92 192 80
index : 데이터프레임의 인덱스를 리스트로 반환
df3.index
실행결과
Int64Index([2018, 2019, 2020], dtype='int64')
columns : 데이터프레임의 컬럼을 리스트로 반환
df3.columns
실행결과
Index(['서울', '대전', '대구', '부산', '광주'], dtype='object')
values : 데이터프레임의 데이터 반환 (ndarray)
df3.values
실행결과
array([[950. , 50. , 85. , 180. , 74. ],
[945. , 151. , 88. , 187. , 80. ],
[938.5, 145. , 92. , 192. , 80. ]])
shape : 행(row)과 열(columns)의 개수(차원)을 튜플로 반환
df3.shpae
실행결과
(3, 5)
T (Transpose) : 행과 열을 바꾸기
df3.T
실행결과
2018 2019 2020 서울 950.0 945.0 938.5 대전 50.0 151.0 145.0 대구 85.0 88.0 92.0 부산 180.0 187.0 192.0 광주 74.0 80.0 80.0
axes : 행과 열 이름을 리스트로 반환
df3.axes
실행결과
[Int64Index([2018, 2019, 2020], dtype='int64'),
Index(['서울', '대전', '대구', '부산', '광주'], dtype='object')]
dtypes : 컬럼별 데이터타입 반환
df3.dtypes
실행결과
서울 float64 대전 int64 대구 int64 부산 int64 광주 int64 dtype: object
size : DataFrame의 원소의 개수를 반환
df3.size
실행결과
15
데이터프레임 기본 함수(함수 에는 () 사용!)
기본적으로 인자값들을 지정해 줄 수도 있고, 지정을 안 해 줄 수도 있다
기본적으로 지정하고 있는 경우가 더 많다
info() - 기본 정보 출력
df3.info()
실행결과
<class 'pandas.core.frame.DataFrame'> Int64Index: 3 entries, 2018 to 2020 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 서울 3 non-null float64 1 대전 3 non-null int64 2 대구 3 non-null int64 3 부산 3 non-null int64 4 광주 3 non-null int64 dtypes: float64(1), int64(4) memory usage: 252.0 bytes
describe() - 기본 통계 정보 출력
df3.describe()
실행결과
서울 대전 대구 부산 광주 count 3.000000 3.000000 3.000000 3.000000 3.000000 mean 944.500000 115.333333 88.333333 186.333333 78.000000 std 5.766281 56.659804 3.511885 6.027714 3.464102 min 938.500000 50.000000 85.000000 180.000000 74.000000 25% 941.750000 97.500000 86.500000 183.500000 77.000000 50% 945.000000 145.000000 88.000000 187.000000 80.000000 75% 947.500000 148.000000 90.000000 189.500000 80.000000 max 950.000000 151.000000 92.000000 192.000000 80.000000
통계 함수 (mean, sum, max, min, ...)
#df3.mean() #df3.sum() // axis = 0 #df3.sum(axis = 1) // 연도별 sum 값을 구하고 싶을 때 #df3.median() // 중위값을 구하는 함수 df3.quantile(0.25) // 분위값을 구하는 함수
실행결과
서울 941.75 대전 97.50 대구 86.50 부산 183.50 광주 77.00 Name: 0.25, dtype: float64
sample() - 일부 데이터를 랜덤으로 선택
전체 데이터가 너무 커서 한번에 보기 어려운 경우 주로 사용된다
df3.sample(2, axis = 1)
※axis 인자는 로우 인덱스와 칼럼 인덱스를 지정해 줄 수 있다
실행결과
대전 대구 2018 50 85 2019 151 88 2020 145 92
head, tail(x) - 맨 앞 혹은 맨 뒤의 x개의 데이터만 출력
df3.head(2) 실행결과 서울 대전 대구 부산 광주 2018 950.5 50 85 180 74 2019 945.0 151 88 187 80 df3.tail(2) 실행결과 서울 대전 대구 부산 광주 2019 945.0 151 88 187 80 2020 938.5 145 92 192 80
((((((결과는 붙여넣기라 이상해도 이해해주세용
수정하기 귀차나효~~~~~~~~~ㅜㅠㅠㅠ))))))
nunique() - unique한 값의 개수
동일한 값이 있으면 동일한 값이 1개이다
df3.nunique()
실행결과
서울 3 대전 3 대구 3 부산 3 광주 2 dtype: int64
plot() - 데이터 시각화
import matplotlib as plt plt.rcParams['font.family'] = 'Malgun Gothic' // 한글폰트 깨짐 처리 방법 df3.plot()
실행결과
fillter() - 원하는 데이터만 선택
#df3.filter([2018], axis = 0) #정규 표현식 - 대로 시작하는 도시를 다 선택하고 싶다면? #df3.filter(regex = '^대') #2010년대 행만 선택 #df3.filter(regex = '^201', axis = 0) # 10년 단위의 행만 선택(2000,2010,2020, ...) df3.filter(regex = '0$', axis = 0)
실행결과
서울 대전 대구 부산 광주 2020 938.5 145 92 192 80
반응형'Languages > python' 카테고리의 다른 글
[python] 파이썬을 이용한 빅 데이터 실습 6- DataFrame (0) 2021.10.30 [python] 파이썬을 이용한 빅 데이터 실습 5- DataFrame (0) 2021.10.30 [python] 파이썬을 이용한 빅데이터 실습 3 - DataFrame (0) 2021.09.12 [python] 파이썬을 이용한 빅데이터 실습 2 조건 색인 (0) 2021.09.12 [python] 파이썬을 이용한 빅데이터 실습1 - Series (2) 2021.09.12