4월 16일 (화) 오후 4:53

logo

  • home
  • head
  • itnews
  • product
  • mobile
  • game
  • benchmark
  • analysis
  • blog

개봉 2023.11.22. / 등급: 12세 관람가 / 장르: 드라마 / 국가: 대한민국 감독 : 김성수 출연 : 황정민, 정우...
노량: 죽음의 바다 / 개봉 2023.12. / 장르: 액션, 드라마 / 국가: 대한민국 감독 : 김한민 출연 : 김윤석, ...

안녕하세요. SQLER의 코난 김대우입니다. 

이번 강좌에서는, Python 머신러닝 강좌 - 3. Pandas 소개를 진행토록 하겠습니다.

예제 노트북 파일 : pandas와 Series와 DataFrame 예제 노트북 파일

 

SQLER에서 진행되는 전체 Python / 머신러닝 강좌 목록

 

코드를 실행하기 위해서는, vscode에서 새로운 파일을 만들고 강좌 내용을 단계별로 copy&paste해서 실행하시면 됩니다. 또는, Jupyter notebook을 실행하고 단계별로 실행하셔도 됩니다.

예를 들어, 3_pandas.ipynb를 생성하고 vscode에서 실행하면, Jupyter notebook이 실행됩니다.(vscode에서 실행도 가능하며, 웹브라우저에서도 실행 가능합니다.)

또는, github 리포지토리를 clone 하신 후, vscode나 Jupyter notebook에서, 위의 노트북 파일을 열면 됩니다. 
 

상세한 환경 구성이 필요 하시다면, 개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 문서를 참조해 WSL, vscode, conda, jupyter notebook 설정을 모두 먼저 완료 하시길 권장해 드립니다.

 

환경구성 참고링크

개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 

개발자 커뮤니티 SQLER.com - Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성

개발자 커뮤니티 SQLER.com - Python 머신러닝 강좌 - 2. Anaconda와 Conda 구성

 

Python 머신러닝 강좌 - 3. Pandas 소개

 

pandas

pandas 데이터 분석을 수행할 수 있는 여러 데이터 구조(data structure)와 도구가 포함 된 오픈 소스 Python 라이브러리입니다. 머신러닝 작업을 할때 필요한 여러 데이터 전처리 작업을 수행하기에 적절한 거의 모든 기능들을 pandas에서 제공하고 있습니다. 특히, SQLER 분들처럼, DB에 대한 경험이 있고, 쿼리 작성 경험이 있다면, 빠르게 pandas를 익힐 수 있습니다. SQLER의 강좌에서 많은 예제를 차근차근 다룰 예정이고, 기본 머신러닝 시리즈 강좌 외에 pandas와 numpy 상세 시리즈 강좌도 진행 예정이니, 많은 도움 되시길 바랍니다.

 

pands는 두가지의 데이터 개체로 나뉩니다. "Series"와 "DataFrame" 입니다.

 

pandas Series와 DataFrame 

  • Series는 1차원 배열을 저장

  • DataFrame 2차원 배열과 여러 다른 데이터 타입들을 저장 가능

 

bash 쉘에서 아래 pip 명령을 이용해 pandas를 설치 가능합니다.

1
pip install pandas

(conda 환경을 activate 했는지 다시 체크하세요. 현재 pands를 설치하는 conda 환경에서만, padnas를 사용 가능합니다.)

 

pandas Series

pandas Series는 1차원 배열을 저장 가능하고 Python list와 유사합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import pandas as pd
 
airports = pd.Series([
                      'Seattle-Tacoma',
                      'Dulles',
                      'London Heathrow',
                      'Schiphol',
                      'Changi',
                      'Pearson',
                      'Narita'
                      ])
 
# 노트북을 사용할 때 print 문을 사용할 수 있습니다.
# print(airports) 으로 변수 내용을 출력, 검사 할 수 있습니다.
# 또는 개체 이름을 셀에 입력하여 화면에 값을 출력 할 수 있습니다.
 
airports

실행하면, series 데이터가 출력된 것을 보실 수 있습니다.

(혹시, module을 찾을 수 없음 오류가 발생할 경우, conda 환경을 activate 하셨는지 체크하시고, jupyter나 vscode의 실행환경이 위의 pip를 설치한 conda 환경과 일치하는지 다시 한번 체크하세요. - conda 환경 구성 문서 참조)

 

index를 사용하여 Series의 개별 값을 참조 가능합니다.

1
airports[2]

 

Loop를 사용해 Series 의 모든 값을 iterate 할 수 있습니다.

1
2
for value in airports:
    print(value)

 

Series는 이렇게 list와 유사합니다. 일반적으로 list나 dict 처리 후 이렇게 Series로 데이터를 처리한 다음, DataFrame에 merge할때 자주 사용합니다. 이렇게 여러개의 1차완 배열 형태인 Series가 모여서 2차원 배열 형태인 DataFrame이 됩니다.

 

DataFrame

pandas로 작업 할 때, 대부분의 경우 2 차원 배열을 다루게 됩니다. Pandas ** DataFrame **은 2 차원 array를 저장할 수 있습니다.

1
2
3
4
5
6
7
8
9
10
11
airports = pd.DataFrame([
                        ['Seatte-Tacoma', 'Seattle', 'USA'],
                        ['Dulles', 'Washington', 'USA'],
                        ['London Heathrow', 'London', 'United Kingdom'],
                        ['Schiphol', 'Amsterdam', 'Netherlands'],
                        ['Changi', 'Singapore', 'Singapore'],
                        ['Pearson', 'Toronto', 'Canada'],
                        ['Narita', 'Tokyo', 'Japan']
                        ])
 
airports

 

columns 파라미터를 사용하여 DataFrame을 만들 때 column의 이름을 지정 가능합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
airports = pd.DataFrame([
                        ['Seatte-Tacoma', 'Seattle', 'USA'],
                        ['Dulles', 'Washington', 'USA'],
                        ['London Heathrow', 'London', 'United Kingdom'],
                        ['Schiphol', 'Amsterdam', 'Netherlands'],
                        ['Changi', 'Singapore', 'Singapore'],
                        ['Pearson', 'Toronto', 'Canada'],
                        ['Narita', 'Tokyo', 'Japan']
                        ],
                        columns = ['Name', 'City', 'Country']
                        )
 
airports

 

실행결과

pandas_dataframe_result.png

 

이렇게 처음으로, pandas로 Series와 DataFrame을 만들고 조회하는 방법에 대해서 살펴 보았습니다.

실제 이렇게 DataFrame을 직접 만들기 보다는 외부 데이터 소스(CSV 파일이나 SQL과 같은 DBMS)로부터 가져오는 경우가 더 많죠. 아울러, 단순 처리가 아니라, SQL쿼리만큼 다양하고 유연한 기능을 pandas가 제공합니다.

 

이후 강좌에서 더 많은 내용을 다룰 예정이니, 많은 도움 되시길 바랍니다.

 

참고자료

pandas - Python Data Analysis Library (pydata.org)

개발자 커뮤니티 SQLER.com - Python 무료 강좌 - 기초, 중급, 머신러닝

c9-python-getting-started/03 - Pandas Series and DataFrame.ipynb at master · CloudBreadPaPa/c9-python-getting-started (github.com)

개발자 커뮤니티 SQLER.com - Python 초급 강좌 목차 - 1. Python 개발 환경 구성 

개발자 커뮤니티 SQLER.com - Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성

개발자 커뮤니티 SQLER.com - Python 머신러닝 강좌 - 2. Anaconda와 Conda 구성


출처 - https://www.sqler.com/board_MachineLearning_AI_tip_lecture/1096225






  1. 코로나19 정복의 서막? 새로운 백신의 개발

    기나긴 침체와 절망이 빛이 들고 있는 걸까. 최근 미국의 제약회사 화이자가 RNA 코로나19 백신 ‘BNT162b’이 임상 3상 중간결과에서 95% 효능이 있다고 밝혔다. 뒤를 이어 미국의 제약회사인 모더나도 mRNA...
    Date2021.12.05
    Read More
  2. 진료정보침해대응센터, 의료기관 대상 랜섬웨어 대응 보안가이드 배포

    보건복지부와 한국사회보장정보원이 운영, 국내 의료분야의 사이버 보안을 총괄하는 "진료정보침해대응센터"에서 민간 의료기관의 사이버 공격 대응 능력 강화를 위해 2021년 3분기 의료기관 대상 랜섬...
    Date2021.10.27
    Read More
  3. [분석보고서] 2021년 랜섬웨어 스페셜 리포트

    보고서 보기 - https://www.krcert.or.kr/filedownload.do?attach_file_seq=3278&attach_file_id=EpF3278.pdf 1. 랜섬웨어의 최근 동향   1.1 랜섬웨어 동향 및 시사점   1.2 랜섬웨어의 확산   1.3...
    Date2021.09.24
    Read More
  4. 반도체가 만든 가능성, 손 위에서 펼쳐지는 PC게임_‘스팀 덱’에 쏠린 기대

    PC게임을 ‘닌텐도 스위치(Nintendo Switch)’1) 같은 휴대용 게임기로 즐길 수 있으면 좋겠다고 생각해 본 적이 있다. 휴대용 게임기의 폼팩터(Form Factor, 제품의 외형이나 크기, 물리적 배열)에는 여러...
    Date2021.09.13
    Read More
  5. 닌텐도, 10월 8일 디스플레이 개선 Nintendo Switch(OLED) 출시

    Nintendo기 10월 8일 Nintendo Switch(OLED)를 $349.99로 출시한다. Nintendo Switch(OLED)는 Nintendo Switch 시스템과 전체 크기가 비슷하지만 더 크고 생생한 7인치 OLED 화면으로 생생한 색상과 선...
    Date2021.08.12
    Read More
  6. HDR, 멋진 이미지 이면에 숨겨진 비밀

    사진을 찍을 때 뚜렷한 대비를 사용하면 실제로 보이는 것을 완전히 담아내지 못할 때가 많다. 이럴 때 기술과 현실 사이의 격차를 줄여주는 기술이 바로 HDR(High Dynamic Range)이다. HDR 센서를 설계하...
    Date2021.07.14
    Read More
  7. [반도체 특강] 넷다이(Net Die), 반도체 수익성을 결정하다

    자동차 공장에서 동일한 장비와 인력으로 2배의 자동차 대수를 생산할 수 있다면, 어떤 생각을 할까요? 기술적 난관에 부딪히고, 더 많은 노동력이 필요하더라도 2배 생산의 목표를 달성하기 위해 모든 수...
    Date2021.06.21
    Read More
  8. 고체연료? 액체연료? 로켓엔진 연료의 세계

    “5.4.3.2.1.0 점화. 발사!” 머리에 태극 문양을 새긴 발사체가 거대한 연기에 휩싸이더니 순간 기다란 화염 기둥 위로 치솟았다. 미국 케이프 커내버럴 우주센터 발사대의 한복판, 꼭대기에 걸린 태극 문양...
    Date2021.05.10
    Read More
  9. 올해 메모리 반도체 시장 성장 이끌 키팩터(Key Factor)는?

    최근 전세계적으로 화두가 되고 있는 8인치 파운드리 및 차량용 반도체, DDI(Display Driver Integrated Circuit)1), 5G RFIC(Radio Frequency Integrated Circuit)2) 등 비메모리 반도체 공급 부족은 2분...
    Date2021.05.10
    Read More
  10. 중고 거래 플랫폼이 흥하는 이유는?

    요즘 당근마켓이 남녀노소 가리지 않고 많은 사람들 사이에서 장안에 화제다. 어차피 집에서 안 입거나 안 쓰는 물건을 버리긴 아깝고 해서 내다 팔아 짭짤한 용돈벌이를 한다는 것이다. 당근마켓처럼 집안...
    Date2021.05.10
    Read More
  11. 자신이 사용중인 인터넷 속도 측정 방법(KT/LG/SK)

    현재 이슈가 되고 있는 것처럼, 본인의 가정에서 사용중인 유선 인터넷(KT/LG/SK)의 속도를 측정 후 정상적인 서비스를 받고 있는지 확인할 필요성이 있다.  아래 링크에서 인터넷 속도를 측정한 뒤...
    Date2021.04.24
    Read More
  12. M1 Mac 정식 대응 Parallels Desktop 16.5 제공 시작

    Parallels는 14일(현지시간) M1 Mac에 정식 대응한 Parallels Desktop 16.5 for Mac 제공을 시작했다. Parallels는 지난해(2020년)부터 M1 Mac을 지원하는 가상머신 환경의 테크니컬 프리뷰 버전으...
    Date2021.04.19
    Read More
  13. 보건복지부, 의료기관 사이버 보안 대폭 강화(진료정보침해대응센터)

    보건복지부가 국내 민간 의료기관들의 사이버 공격 대응 능력을 대폭 강화하기 위해 국내 최고 보안 전문가와 최고 IT 전문가로 구성된 특급 조직 '진료정보침해대응센터'를 운영하며 ...
    Date2021.04.05
    Read More
  14. 한국형 F22 전투기, 리틀 랩터 'KFX' 드디어 공개

    한국의 전투기 국산화가 눈앞으로 다가왔다. 현존 최강 미국의 F22 랩터를 닮아 리틀 랩터로 불리는 한국의 "KFX", 하늘을 지배할 것
    Date2021.03.20
    Read More
  15. Intel® Xe HPG Teaser | Intel Software

    See the next step in Intel's entry into discrete graphics! Intel is excited about our upcoming discrete graphics processor, so we wanted to share a short teaser video. Learn more about this,...
    Date2021.03.19
    Read More
  16. Introducing the New 3rd Gen AMD EPYC™ Processors

    Delivering on our promise to continuously drive innovation to help solve the world’s biggest challenges, AMD introduces the 3rd Gen AMD EPYC™ server processors. AMD EPYC™ 7003 series helps el...
    Date2021.03.19
    Read More
  17. Google — Year in Search 2020 (구글 올해의 검색어)

    In times of uncertainty, people seek understanding and meaning. This year, the world searched “why” more than ever. This film features the questions we asked this year, with words and narrati...
    Date2021.03.15
    Read More
  18. Python 머신러닝 강좌 - 5. Pandas DataFrame에 질의(Query)

    안녕하세요. SQLER의 코난 김대우입니다.  이번 강좌에서는, Python 머신러닝 강좌 - 5. Pandas DataFrame에 질의(Query)를 진행토록 하겠습니다. 예제 노트북 파일 : 5. Pandas DataFrame에 질의(Query)...
    Date2021.03.15
    Read More
  19. Python 머신러닝 강좌 - 4. Pandas DataFrame

    안녕하세요. SQLER의 코난 김대우입니다.  이번 강좌에서는, Python 머신러닝 강좌 - 4. Pandas DataFrame을 진행토록 하겠습니다. 예제 노트북 파일 : 4. Pandas DataFrame 예제 노트북   SQLER에서 ...
    Date2021.03.15
    Read More
  20. Python 머신러닝 강좌 - 3. Pandas 소개

    안녕하세요. SQLER의 코난 김대우입니다.  이번 강좌에서는, Python 머신러닝 강좌 - 3. Pandas 소개를 진행토록 하겠습니다. 예제 노트북 파일 : pandas와 Series와 DataFrame 예제 노트북 파일   SQL...
    Date2021.03.15
    Read More
  21. Python 머신러닝 강좌 - 2. Anaconda와 Conda 구성

    안녕하세요. SQLER의 코난 김대우입니다.  이번 강좌에서는, Python 머신러닝 강좌 - 2. Anaconda와 Conda 구성을 진행토록 하겠습니다.   SQLER에서 진행되는 전체 Python / 머신러닝 강좌 목록   코...
    Date2021.03.15
    Read More
  22. Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성

    안녕하세요. SQLER의 코난 김대우입니다.  이번 강좌에서는, Python 머신러닝 강좌 - 1. 주피터 노트북(Jupyter Notebook) 구성을 진행토록 하겠습니다.   SQLER에서 진행되는 전체 Python / 머신러닝 ...
    Date2021.03.15
    Read More
  23. 리눅스 서버에 워드프레스 설치

    워드프레스(WordPress)는 오픈 소스 기반의 웹사이트와 블로그를 손쉽게 만들 수 있는 설치형 블로그로 간단하게 설치하여 고급스럽고 전문적인 웹사이트를 쉽게 만들 수 있게 해준다. 전 세계적으로 워드...
    Date2021.03.15
    Read More
  24. GPS를 넘어, 인공지능을 활용한 위치 파악 기술

    GPS 기반 위치 파악 기술의 한계 이제 내비게이션은 일상생활에서 없어서는 안 될 필수품이 됐다. 스마트폰은 자동차 내비게이션 장치로도 사용되며 스마트 워치는 등산 길잡이로도 사용할 수 있다. 그렇다...
    Date2021.03.07
    Read More
  25. Windows 10에서 Wi-Fi WPA3 이용시 블루스크린 패치 공개

    Microsoft는 11일, Windows 10(버전 1909)에서 무선 LAN 암호화 규격 Wi-Fi Protected Access 3(WPA3)을 사용할 시 블루스크린이 발생하는 문제를 해결하는 취약성 패치 KB5001028을 배포한다.   이 문제...
    Date2021.02.16
    Read More
  26. 2021년 사이버 위협 전망 - 글로벌 및 국내 타겟

    □ 글로벌 전망  1. 표적형 공격 랜섬웨어의 확산과 피해규모 증가 - 공통  2. 고도화된 표적형 악성 이메일 - 호주  3. 코로나-19 사이버 공격 팬데믹 - 인도  4. 다크웹 유출 정보를 활용한 2차 공격 기승...
    Date2021.01.28
    Read More
  27. 국내 PC방 하드웨어 점유율, "인텔+엔비디아 99%"

    국내 PC방 시장을 분석하는 게임트릭스(http://www.gametrics.com/)의 2021년 1월 14일 기준 하드웨어 점유율. CPU 부문을 보면 브랜드 별로 인텔의 점유율은 99.67%, AMD 점유율은 0.33%를 나타...
    Date2021.01.18
    Read More
  28. 솔라윈즈 오리온 플랫폼 보안 업데이트 권고-2

    □ 개요  o 솔라윈즈社 제품에서 취약점이 발견됨에 따라 보안 업데이트 권고  o 해당 제품을 사용중인 국내 이용자들은 해당 취약점을 악용한 악성코드 감염 등의 피해를 입을 수 있으므로, 대응 방안에 따...
    Date2021.01.02
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 47 Next
/ 47