일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 비주얼베이직
- 파이썬GUI
- python3
- Outlook
- 파이썬
- 아웃룩
- pandas
- 문자열
- 깃
- pythongui
- Windows10
- git
- office
- html
- 안드로이드
- windows
- matlab
- 엑셀
- Excel
- Windows11
- 파이썬3
- 파워포인트
- 윈도우11
- win32com
- Android
- pyqt5
- 윈도우10
- python
- 오피스
- VBA
Appia의 IT세상
파이썬[Python] Pandas란, Pandas DataFrame 본문
앞서 포스팅에서는 Pandas을 설치 하는 방법과 Anaconda를 설치하는 방법에 대해서 살펴봤습니다. 실제 Pandas에 대해서 이야기를 하고자 가장 기초적인 설치에 대해서 포스팅을 해봤습니다. 그러면, 이번 포스팅은 간단히 Pandas에 대해서 이야기를 하면서 데이터를 읽어와서 Data frame을 만드는 방법에 대해서 이야기를 하고자 합니다.
데이터 사이언스 및 빅데이터 관련된 곳에서는 Python Pandas를 많이 사용합니다. 하지만, 엑셀 또한 매우 많은 분석 기능 및 편리성들을 제공하고 있습니다. 하지만, 상당히 많은 사용자들이 엑셀을 사용하지 않고, Python Pandas를 사용하는 이유는 무엇일까요? 다음과 같은 이유라고 생각합니다.
- Excel은 Python보다 프로그램을 만드는 데에 매우 제약적입니다.
- Numpy 모듈에 비해 수치 연산에 성능적인 측면에서 부정적입니다.
이와 같은 이유로 많은 데이터를 처리하고 분석해야 할 때, 엑셀 보다 Python/Pandas가 선호되는 이유 입니다. 물론 이는 매우 주관적인 의견이라는 것을 생각해주세요.
앞서 numpy에서는 ndarray가 핵심었다면, pandas에서는 DataFrame이 핵심이 됩니다. 그럼 간단히 Data_frame이라는 데이터 구조에 대해서 살펴보겠습니다.
상단은 Column들로 구성이 됩니다. 또 열들은 그냥 말 그대로 Row로 됩니다. 각 Column기준으로 행에 있는 데이터들을 Series라고 합니다. 이와 같이 Column, Row, Series들로 구성된 형태, 즉 이와 같은 형태로 DataFrame을 구성되어 있습니다. 그럼 DataFrame에 대해서 좀더 깊숙히 살펴보겠습니다.
DataFrame
그럼 pandas에서 DataFrame을 생성하는 방식을 살펴 보겠습니다. 우선 기본 형태는 다음과 같은 형태로 생성이 가능합니다.
pandas.DataFrame( Data, Index, Columns, dtype, copy)
- data - DataFrame을 생성할 데이터 소스. Ex) ndarray, series, map, lists, dict, constant 등
- index - Row에 각 부분에 대해서 Label을 추가( Optional)
- column - Column에 각 부분에 대해서 Label을 추가( Optional)
- dtype - 각 column의 데이터 타입 명시 ( Optional)
DataFrame 생성하기
그럼 위의 명령어를 바탕으로 다음 예제를 실행을 해보겠습니다. 빈 DataFrame을 생성하는 방법입니다.
import pandas as pd
df = pd.DataFrame()
print(df)
|
cs |
위의 명령어를 실행하면 다음과 같은 결과가 나옵니다.
Empty DataFrame
Columns: []
Index: []
|
cs |
그럼 기존에 생성되어 있는 List를 바탕으로 한번 DataFrame을 생성해보겠습니다. 다음과 같은 코드를 한번 살펴보겠습니다.
import pandas as pd
data = [['Choi',22],['Kim',48],['Joo',32],['Baek',39]]
df = pd.DataFrame(data,columns=['Name','Age'])
print(df)
|
cs |
위의 예제를 실행하면 다음과 같은 결과가 나옵니다.
Name Age
0 Choi 22
1 Kim 48
2 Joo 32
3 Baek 39
|
cs |
2차원 형태로 명시된 리스트입니다. 그 맴버 중 하나씩이 각 Row를 명시합니다. 그래서 다음과 같은 형태로 나타냅니다.
그럼 이번에는 Dictionary를 바탕으로 한번 DataFrame을 생성해 보겠습니다.
import pandas as pd
data = {'Name':['Choi', 'Kim', 'Joo', 'Lee'],'Age':[38,44,19,22]} #Dictionary 생성
df = pd.DataFrame(data)
print(df)
|
cs |
data = {'Name':['Choi', 'Kim', 'Joo', 'Lee'],'Age':[38,44,19,22]}를 부분을 토대로 data라는 Dictionary를 생성하였습니다. 그리고 이를 바탕으로 DataFrame을 생성해보니, 다음과 같은 결과가 나왔습니다.
Name Age
0 Choi 38
1 Kim 44
2 Joo 19
3 Lee 22
|
cs |
그럼 이번에는 index, column 입력하여 다음과 같은 결과를 한번 살펴 보겠습니다.
import pandas as pd
data = [{'a': 1, 'b': 2},{'a': 5, 'b': 10, 'c': 20}]
df1 = pd.DataFrame(data, index=['first', 'second'], columns=['a', 'b'])
df2 = pd.DataFrame(data, index=['first', 'second'], columns=['a1', 'c'])
print(df1)
print("\n")
print(df2)
|
cs |
위의 예제를 실행하니 다음과 같은 결과가 나옵니다.
a b
first 1 2
second 5 10
a1 c
first NaN NaN
second NaN 20.0
|
cs |
다음과 같은 형태로 생성입니다. column에서 입력된 값이 dictionary의 key가 존재하지 않으면 입력되 지 않습니다. 이 부분을 꼭 명심 하셔야 합니다.
오늘은 간단한 DataFrame을 생성하는 방법에 대해서 살펴봤습니다. 물론 간단히 List / Dictionay을 바탕으로 생성하는 방법에 대해서 살펴봤습니다. 물론, CSV 파일 및 테스트 파일등을 읽어올 수 도 있습니다. 관련해서는 추가로 별도의 포스팅을 토대로 이야기를 해보도록 하겠습니다.
'Python > Python Pandas' 카테고리의 다른 글
파이썬[Python] Pandas, 기술 통계[descriptive statistics] 메소드 (0) | 2020.03.27 |
---|---|
파이썬[Python] Pandas, DataFrame 기본 메소드 기능 (0) | 2020.03.25 |
파이썬[Python] Pandas, Series 기본 메소드 기능 (0) | 2020.03.24 |
파이썬[Python] Pandas, Pandas Series생성 및 활용하기 (0) | 2020.03.21 |
파이썬[Python] Pandas 설치하기(pip), 아나콘다(Anaconda)설치 하기 (2) | 2020.03.06 |