파이썬/자료구조
[Python] Series와 Dataframe의 개념, 사용법, 차이점 (in Pandas)
메가구글
2022. 6. 2. 08:30
0. Series 개념
- Pandas의 일종의 리스트로 정수, 문자열, 실수 등을 포함한다.
- Pandas Series에서는 0~n의 인덱스를 가지는 리스트를 반환한다. (n은 series의 길이다.)
- Series은 인덱스와 함께 한개의 리스트만을 갖는다.
1. Dataframe 개념
- Series는 Dataframe의 단일 컬럼에 대한 데이터 구조다.
- Dataframe의 데이터는 메모리에 Series의 데이터들로 저장되어있다.
- Series은 모든 데이터 유형을 저장할 수 있는 1차원 배열이다.
- Dataframe은 2차원 배열로 된 데이터구조로 서로 다른 데이터타입을 칼럼으로 가질 수 있다.
2. 간단한 Series 만들기
from pandas import Series
import pandas as pd
sdata = {'Ohio':35000, 'Texas': 71000, 'Oregon' : 16000}
obj3 = Series(sdata)
obj3
Output :
이 경우 Ohio, Texas, Oregon이라는 인덱스가 생성되었으며, 사전형 데이터도 Series객체로 생성이 가능하다.
만약에 sdata = [35000, 71000, 16000]으로 정의했다면 인덱스가 0,1,2로 생성됐을 것이다.
3. Series을 결합해서 Dataframe 만들기
import pandas as pd
name = ['Cho', 'Kim', 'Sim', 'Joo']
height = [170, 183, 189, 175]
name_series = pd.Series(name)
height_series = pd.Series(height)
frame = { 'Name': name_series, 'Height': height_series }
result = pd.DataFrame(frame)
print(result)
Output :
4. Dataframe에 Series 외부 데이터 추가하기
import pandas as pd
name = ['Cho', 'Kim', 'Sim', 'Joo']
height = [170, 183, 189, 175]
name_series = pd.Series(name)
height_series = pd.Series(height)
frame = { 'Name': name_series, 'Height': height_series }
result = pd.DataFrame(frame)
age = [21, 23, 35, 27]
result['Age'] = pd.Series(age)
print(result)
Output :
5. Dataframe로 그래프 그리기
import pandas as pd
import matplotlib.pyplot as plt
name = ['Cho', 'Kim', 'Sim', 'Joo']
height = [170, 183, 189, 175]
name_series = pd.Series(name)
height_series = pd.Series(height)
frame = { 'Name': name_series, 'Height': height_series }
result = pd.DataFrame(frame)
age = [21, 23, 35, 27]
result['Age'] = pd.Series(age)
result.plot.bar()
plt.show()
Output :
참고사이트
https://www.geeksforgeeks.org/creating-a-dataframe-from-pandas-series/