1. Creating DataFrames (데이터 프레임 만들기)
In [1]:
from IPython.core.display import display, HTML
display(HTML("<style> .container{width:90% !important;}</style>"))

딕셔너리를 사용하여 DataFrame 생성하기

In [2]:
import pandas as pd
In [3]:
# 인덱스 옵션을 넣지 않으면 행 인덱스가 0부터 생성
df = pd.DataFrame(
                {'a' : [4, 5, 6],
                 'b' : [7, 8, 9],
                 'c' : [10, 11, 12]},
                )

df
Out[3]:
a b c
0 4 7 10
1 5 8 11
2 6 9 12
In [4]:
# 인덱스 값을 입력해서 내가 원하는 임의의 인덱스 값을 설정할 수 있다.
df = pd.DataFrame(
                {'a' : [4, 5, 6],
                 'b' : [7, 8, 9],
                 'c' : [10, 11, 12]},
                 index = [1, 2, 3]
                )

df
Out[4]:
a b c
1 4 7 10
2 5 8 11
3 6 9 12

데이터 프레임에서 특정 데이터 불러오기

In [5]:
# 하나의 컬럼만 불러오기
df['a']
Out[5]:
1    4
2    5
3    6
Name: a, dtype: int64
In [6]:
# 두 개 이상의 컬럼을 불러올 때는 대괄호 안에 리스트 형식으로 불러온다.
df[ ['a','b'] ]
Out[6]:
a b
1 4 7
2 5 8
3 6 9
In [7]:
# 행(혹은 인덱스) 기준으로 데이터를 불러올 때는 df.loc[인덱스] 를 사용
df.loc[2]
Out[7]:
a     5
b     8
c    11
Name: 2, dtype: int64
In [8]:
# df.loc[인덱스, 컬럼명] 을 사용해서 특정 행, 열의 데이터를 불러올 수 있다
df.loc[2, 'a']
Out[8]:
5
In [9]:
# 이 때 복수의 행과 열을 조회할 때는 행과 열을 각각 리스트 형식으로 적어주면 된다
df.loc[[1, 2], ['a', 'b']]
Out[9]:
a b
1 4 7
2 5 8

리스트를 사용해서 컬럼명 만들기

In [10]:
# 리스트를 사용하여 데이터프레임을 만들 때, 컬럼명 옵션을 입력하지 않으면
# 0부터 순서대로 컬럼명이 만들어진다
df = pd.DataFrame(
                [ [4, 5, 6],
                  [7, 8, 9],
                  [10, 11, 12]],
                index = [1, 2, 3]
                )

df
Out[10]:
0 1 2
1 4 5 6
2 7 8 9
3 10 11 12
In [11]:
# 때문에 리스트로 데이터 프레임을 만들 때 아래 처럼 컬럼명을 설정해주는 것이 보통
df = pd.DataFrame(
                [ [4, 5, 6],
                  [7, 8, 9],
                  [10, 11, 12]],
                 index = [1, 2, 3],
                columns = ['a', 'b', 'c']
                )

df
Out[11]:
a b c
1 4 5 6
2 7 8 9
3 10 11 12

데이터프레임 만들기 : Multi Index

In [12]:
# 복수의 인덱스를 만들어 줄 수도 있음 (pd.Multiindex 사용)
df = pd.DataFrame(
                            {'a' : [4, 5, 6], 
                             'b' : [7, 8, 9],
                             'c' : [6, 9, 12]},
                            index = pd.MultiIndex.from_tuples( [('d', 1), ('d', 2), ('e', 2)] ,
                                                                                     names = ['n', 'v'] )
                                )

df
Out[12]:
a b c
n v
d 1 4 7 6
2 5 8 9
e 2 6 9 12

+ Recent posts