🐼 판다스/Pandas 함수

🐼 Pandas 02. DataFrame 만들기

nyamin9 2023. 1. 13. 15:47

모바일은 화면을 돌려 가로화면으로 보시는 게 읽으시기 편할 수 있습니다. 돌려서 보시는 걸 추천드릴게요!!

 

 


📝 목차

1. 데이터프레임 정의


2. 데이터프레임 생성


3. 데이터프레임 접근


1. DataFrame


🐼 데이터프레임은 시리즈로 이루어진 데이터입니다.


🐼 row 와 column으로 구성되는 Table 형식입니다.

 


 

2. Dafatrame 생성 - pd.DataFrame( ) 함수


2.1 index를 따로 지정해서 만들기

import pandas as pd

 

🐼  pd.DataFrame(딕셔너리, index) 

df1 = pd.DataFrame({"a" : [1,2,3],
                    "b" : [4,5,6],
                    "c" : [7,8,9]}, index=[1,2,3])
df1
>> 

    a   b   c
1   1   4   7
2   2   5   8
3   3   6   9

 


 

2.2. index를 따로 지정하지 않는 경우

 

🐼  pd.DataFrame(딕셔너리) 

df2 = pd.DataFrame({"a" : [1,2,3],
                    "b" : [4,5,6],
                    "c" : [7,8,9]})
df2
>> 

    a   b   c
0   1   4   7
1   2   5   8
2   3   6   9

index를 따로 지정하지 않는 경우 default는 0,1,2... 로 자동 설정됩니다.

 


 

2.3. 리스트로 만들기

 

🐼  pd.DataFrame(리스트, columns, index) 

df3 = pd.DataFrame(data = [[1,4,7],[2,5,8],[3,6,9]], 
                   columns = ['a','b','c'], 
                   index = [1,2,3])
df3
>> 

    a   b   c
1   1   4   7
2   2   5   8
3   3   6   9

 

 


 

2.4. 멀티인덱스 만들기

 

🐼  pd.MultiIndex(인덱스 리스트, names) 

df4 = pd.DataFrame({"a" : [1,2,3],
                    "b" : [4,5,6],
                    "c" : [7,8,9]},
                    index = pd.MultiIndex.from_tuples(
                    [('d',1), ('d',2), ('e',1)], names=['n','v']))
                    
df4
>> 

        a   b   c
n   v
d   1   1   4   7
    2   2   5   8
e   1   3   6   9

MultiIndex를 처음부터 사용하는 경우는 거의 보지 못했는데 새로워서 가져와봤습니다.

 

pandas에서 제공하는 포맷이기에 필요에 따라 사용하시는 것도 좋을 것 같습니다!!

 


 

3. DataFrame에 접근하기


df = pd.DataFrame({"a" : [1,2,3],
                   "b" : [4,5,6],
                   "c" : [7,8,9]})
                   
df
>> 

    a   b   c
0   1   4   7
1   2   5   8
2   3   6   9

 


 

3.1. DataFrame 정보얻기

 

🐼  df.index - 인덱스 정보 

df.index
>> RangeIndex(start=0, stop=3, step=1)

 

 

🐼  df.columns - 열 정보 

df.columns
>> Index(['a', 'b', 'c'], dtype='object')

 

 

🐼  df.values - 값 정보 

df.values
>> array([[1, 4, 7],
          [2, 5, 8],
          [3, 6, 9]], dtype=int64)

 

 

🐼  df.shape - 형태 정보 

df.shape
>> (3, 3)

 

 

🐼  df. info() - 데이터프레임의 정보 

df.info()
>> <class 'pandas.core.frame.DataFrame'>
    RangeIndex: 3 entries, 0 to 2
    Data columns (total 3 columns):
     #   Column  Non-Null Count  Dtype
    ---  ------  --------------  -----
     0   a       3 non-null      int64
     1   b       3 non-null      int64
     2   c       3 non-null      int64
    dtypes: int64(3)
    memory usage: 200.0 bytes

특히 df. info() 함수는 결측값의 유무를 보여주기 때문에 데이터 전처리 과정에서 상당히 유용하게 쓰이는 함수입니다.

 


 

3.2. 열을 인덱스로 만들기

 

🐼  df.set_index(열) 

df.set_index('a')
>> 

    b   c
a
1   4   7
2   5   8
3   6   9

 

리스트를 사용해서 여러 개의 열을 인덱스로 지정할 수 있습니다.

df.set_index(['a', 'b'])
>> 

       c
a  b
1  4   7
2  5   8
3  6   9

 


 

3.3. 인덱스 초기화하기

 

🐼  df.reset_index( ) 

 

drop 옵션은 default 가 False 이기 때문에 기존의 인덱스를 첫번째열로 삽입합니다.

df.reset_index(drop = False)
>> 

    index   a   b   c
0       0   1   4   7
1       1   2   5   8
2       2   3   6   9

 

drop=True 로 지정하면 기존의 인덱스를 버리고 정렬해줍니다.

df.reset_index(drop = True)
>> 

    a   b   c
0   1   4   7
1   2   5   8
2   3   6   9