[Python 데이터 분석 3대장] 판다스(Pandas)
판다스(Pandas), 넘파이(Numpy), 맷폴롭립(Matplotlib)
- 데이터 처리 삼대장

1. 판다스 (Pandas)
판다스는 파이썬 데이터 처리를 위한 라이브러리다. 파이썬을 이용한 데이터 분석에서는 필수 라이브러리!
아나콘다를 설치했다면 기본으로 깔려있겠지만, 설치하지 않았다면 아래 커맨드로 Pandas를 설치할 수 있다.
pip install pandas
판다스의 경우, 주로 pd라는 명칭으로 임포트 하는 것이 관례이다.
import pandas as pd
이하 아래에서 수행되는 모든 pandas 코드들은 위의 임포트 코드를 우선 수행했다고 가정한다.
Pandas는 총 세가지의 데이터 구조를 사용한다.
- 시리즈 (Series)
- 데이터프레임 (DataFrame)
- 패널(Panel)
이 중 데이터 프레임이 가장 많이 사용된다. 이 포스팅에는 시리즈와 데이터 프레임에 대해서만 다룰 예정이다!
1. 시리즈 (Series)
시리즈 클래스는 1차원의 배열의 값(values)에 각 값에 대응되는 인덱스(index)를 부여할 수 있는 구조를 가지고 있다.
sr = pd.Series([17000, 18000, 1000, 5000], index = ['피자', '치킨', '콜라', '맥주']) print(sr)
피자 17000 치킨 18000 콜라 1000 맥주 5000 dtype: int64
print(sr.values)
[17000 18000 1000 5000]
print(sr.index)
Index(['피자', '치킨', '콜라', '맥주'], dtype='object')
2. 데이터프레임(DataFrame)
데이터프레임은 2차원 리스트를 매개변수로 전달한다. 2차원이므로 행방향 인덱스(index)와 열방향 인덱스(column)가 존재한다. 즉, 행과 열을 가지는 자료구조다. 시리즈가 인덱스(index)와 값(values)으로 구성된다면 데이터프레임은 열(columns)까지 추가되어 열(columns), 인덱스(index), 값(values)으로 구성된다.
예제를 통해 데이터프레임의 구성을 이해해보자.
values = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] index = ['one', 'two', 'three'] columns = ['A', 'B', 'C'] df = pd.DataFrame(values, index=index, columns=columns) print(df)
A B C one 1 2 3 two 4 5 6 three 7 8 9
생성된 데이터프레임으로부터 인덱스, 값, 열을 각각 출력해보자.
print(df.index)
Index(['one', 'two', 'three'], dtype='object')
print(df.columns)
Index(['A', 'B', 'C'], dtype='object')
print(df.values)
[[1 2 3] [4 5 6] [7 8 9]]
(1) 데이터 프레임의 생성
데이터프레임은 리스트(list), 시리즈(Seriex), 딕셔너리(dict), Numpy의 ndarrays, 또 다른 데이터프레임으로 생성할 수 있다. 여기서는 리스트와 딕셔너리를 통해서 데이터프레임을 생성해보자.
#리스트로 생성하기 data = [ ['1000', 'Steve', 90.72], ['1001', 'James', 78.09], ['1002', 'Jiyeon', 100.00] ] df = pd.DataFrame(data) print(df)
0 1 2 0 1000 Steve 90.72 1 1001 James 78.09 2 1002 Jiyeon 100.00
생성된 데이터 프레임에 열(Columns)을 지정해줄 수 있다.
df = pd.DataFrame(data, columns=['학번', '이름', '점수]) print(df)
학번 이름 점수 0 1000 Steve 90.72 1 1001 James 78.09 2 1002 Jiyeon 100.00
이번에는 파이썬 자료구조 중 하나인 딕셔너리(dict)를 통해 데이터프레임을 생성해보자.
#딕셔너리로 생성하기 data = { '학번' : ['1000', '1001', '1002'], '이름' : ['Steve', 'James', 'Jiyeon'], '점수' : [90.72, 78.09, 100.00]} df = pd.DataFrame(data) print(df)
학번 이름 점수 0 1000 Steve 90.72 1 1001 James 78.09 2 1002 Jiyeon 100.00
(2) 데이터프레임 조회하기
아래 명령어는 데이터프레임에서 원하는 구간만 확인하기 위한 명령어로서 유용하게 사용된다.
df.head(n) - 앞 부분을 n개만 보기
df.tail(n) - 뒷 부분을 n개만 보기
df['열이름'] - 해당되는 열을 확인
위에서 사용한 데이터프레임을 그대로 사용한다고 가정하자.
print(df.head(2)) #앞 부분 2개만 보기
학번 이름 점수 0 1000 Steve 90.72 1 1001 James 78.09
print(df.tail(2)) #뒷 부분 2개만 보기
학번 이름 점수 1 1001 James 78.09 2 1002 Jiyeon 100.00
print(df['학번']) #'학번'에 해당되는 열을 보기
0 1000 1 1001 2 1002 Name : 학번, dtype : object
(3) 외부 데이터 읽기
Pandas는 CSV, 텍스트, Excel, SQL, HTML, JSON 등 다양한 데이터파일을 읽고 데이터프레임을 생성할 수 있다.
예를들어 csv파일을 읽을 때에는 pandas.read_csv()
를 통해 읽을 수 있다.
'머신러닝 꿈나무' 카테고리의 다른 글
[Python 데이터 분석 3대장] Numpy 라이브러리 (0) | 2020.08.04 |
---|---|
데이터의 성능을 높이는 방법 (0) | 2020.08.02 |
하둡 에코시스템(Hadoop-Ecosystem)이란 (0) | 2019.11.10 |
하둡(Hadoop)이란? (0) | 2019.11.10 |
DW(Data Warehouse; 데이터 창고)? Data Lake!! (0) | 2019.11.05 |
댓글
이 글 공유하기
다른 글
-
[Python 데이터 분석 3대장] Numpy 라이브러리
[Python 데이터 분석 3대장] Numpy 라이브러리
2020.08.04이전 포스팅 : Pandas 2020/01/13 - [Computer Engineering] - [python] 판다스(Pandas) Numpy 소개 Numpy ; Numerical Python 고성능 과학계산 컴퓨팅과 데이터 분석에 필요한 파이썬 패키지입니다. Numpy의 몇가지 장점을 소개하자면, 빠르고 메모리를 효율적으로 사용하여 벡터의 산술연산과 브로드캐스팅 연산을 지원하는 다차원 배열 ndarray 데이터 타입을 지원한다. 반복문을 작성할 필요 없이 전체 데이터 배열에 대해 빠른 연산을 제공하는 다양한 표준 수학 함수를 제공한다. 배열 데이터를 디스크에 쓰거나 읽을 수 있다. (즉, 파일로 저장) 선형대수, 난수발생기, 푸리에 변환 가능, C/C++ 포트란으로 쓰여진 코드를 통ㅇ합한다. 따라하며… -
데이터의 성능을 높이는 방법
데이터의 성능을 높이는 방법
2020.08.02데이터의 성능을 높이는 방법 Augmentation Data Preprocessing & Augmentation 원래의 데이터를 부풀려서 성능을 더 좋게 한다. 원본에 추가되는 개념이니 성능이 떨어지지 않는다. 쉽고 패턴이 정해져 있다. 좌우반전, 이미지 잘라주기, 밝기조절 등이 있다. 사용 예시 AlexNet 여기서 처음으로 Augmentation을 Heavy하게 썼다고 한다. 좌우 반전 224*224px의 이미지를 → 256*256px로 resize 한 다음 → 224*224px로 랜덤하게 2048번 잘라서 데이터를 2048배 늘림 테스트시에는 2048배 늘이면 너무 느리니까 256_256px로 resize한 다음 → 좌상단/우상단/좌하단/우하단/가운데 5번만 잘라서 5배 늘림 → 좌우반전까지 *_총… -
하둡 에코시스템(Hadoop-Ecosystem)이란
하둡 에코시스템(Hadoop-Ecosystem)이란
2019.11.10이전 포스팅 2019/11/10 - [빅데이터 꿈나무] - 하둡(Hadoop)이란? 시작하기 앞서… (내가 했던 그리고 쉽게들 하는) 하둡에 대한 오해 1. 하둡은 빅데이터에만 사용된다? 많은 사람들은 하둡이라고 하면 방대한 양의 빅데이터부터 연상을 한다. 물론 나름대로 합당한 이유가 있긴 하다. 그러나 하둡의 활용은 빅데이터를 훨씬 넘어선다. 하둡의 가장 강력한 능력 가운데 하나는 바로 확장성이다. 이를 바탕으로 페이스북과의 관계를 유지하고 있을 뿐 아니라 얼마든지 규모를 축소시켜 저렴한 저장소와 데이터 관리를 원하는 기업들에게도 맞출 수 있다. 2. 하둡은 NoSQL 툴이다? 하둡이 비관계형 DBMS(NDBMS)에 속하는 것은 맞지만, 그렇다고 SQL 쿼리 언어를 사용하지 못하는 것은 아니다. 사실… -
하둡(Hadoop)이란?
하둡(Hadoop)이란?
2019.11.10Hadoop (High-Availability Distributed Object-Oriented Platform) ; 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크. 빅데이터 분석의 날개를 달아준 하둡(Hadoop)!! 하둡은 대용량의 데이터를 적은 비용으로 더 빠르게 분석할 수 있는 소프트웨어이며, 빅데이터 처리와 분석을 위한 플랫폼 중 사실상 표준으로 자리잡고 있다. 여러대의 컴퓨터로 데이터를 분석하고 저장하는 방식으로 필요했던 많은 비용과 시간을 단축하게 해주었다! 국내외를 막론하고 빅데이터를 다루는 개발자들은 하둡 생태계를 통해 빅데이터를 보다 원할하고 효율적으로 분석할 수 있다. Hadoop이란? 분산 환경에서 빅…
댓글을 사용할 수 없습니다.