ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Pandas DataFrame 생성 만들기 (+ Numpy 행렬 이용하는법)
    ▶파공's 취미 생활/▷파이썬 공부 2020. 9. 4. 00:01

    안녕하세요

    파이어(F.I.R.E.)를 꿈꾸는 공룡

    '파공' 입니다.

     

    오늘은 Pandas 라이브러리의 기본이 되는 DataFrame을 생성하는 방법, 만드는 방법에 대해서 알아보겠습니다.

     

     

    오늘은 Numpy도 이용할 예정이기 때문에, 우선 Pandas와 Numpy 모두 import 해줍니다.

     

     

    1. 데이터 프레임 생성하기 (컬럼명만 지정)

    <코드>

    df = pd.DataFrame({'c1' : ['a', 'b', 'c'], 'c2' : [1, 2, 3]})
    df

     

    <실행 화면>

     

     

     

     

     

    2. 데이터 프레임 생성하기 (컬럼명, 인덱스명 둘 다 지정)

    <코드>

    df1 = pd.DataFrame({'c1' : ['a', 'b', 'c'], 'c2' : [1, 2, 3]}, index=[4, 5, 6])
    df1

     

    <실행 화면>

     

     

     

    3. 데이터 프레임 생성하기 (인덱스명만 지정)

    <코드>

    df2 = pd.DataFrame(['a','b','c'],[1,2,3])
    df2

     

    <실행 화면>

    3번과 같은 경우는 첫번쨰 리스트가 원소, 두번째 리스트가 인덱스명이 된다.
    이렇게 데이터 프레임을 만들 경우, 컬럼 추가가 불가능하다.

    인덱스는 따로 지정하지 않더라도, 컬럼명을 지정하지 않는 경우는 없을 것으로 고려된다.

    (컬럼 명은 어떠한 데이터의 이름(?)인데, 이름도 모르는... 즉, 정체도 모르는 데이터는 없을테니...)

    따라서 3번과 같은 경우는 잘 사용하지 않는다.

     

     

     

     

     

     

    4. Numpy 행렬 이용하여 데이터 프레임 생성하기 (컬럼명, 인덱스명 지정 없이)

    <코드>

    ar = np.array([[1, 2, 3], [4, 5, 6]])

    df_ar = pd.DataFrame(ar)

    print(ar)

    print('\n')

    print(df_ar)

     

    <실행 화면>

    위 코드에서 ar은 Numpy를 이용해 정의한 행렬이다.

    Numpy 행렬을 DataFrame으로 만들기위해선 pd.DataFrame을 사용하면 되고

    이럴 경우, 위와 같이 컬럼명과 인덱스명은 0부터 숫자 순서대로 붙여진다.

     

     

     

     

     

    5. Numpy 행렬 이용하여 데이터 프레임 생성하기 (컬럼명, 인덱스명 지정)

    <코드>

    ar = np.array([ [1, 2, 3], [4, 5, 6] ])

    df_ar = pd.DataFrame(ar, index=['A', 'B'], columns=['a', 'b', 'c'])

    print(ar)

    print('\n')

    print(df_ar)

     

    <실행 화면>

    위와 같이, 인덱스명과 컬러명을 지정해줄 수 있으며 컬럼명만 또는 인덱스명 만 지정해서

    Numpy 행렬을 Pandas 데이터프레임으로 변화할 수 있다.

     

     

     

    <참고> 데이터 프레임을 Numpy 행렬로 변환하기 (인덱스명, 컬럼명 다 무시됨)

    <코드>

    df_ar_1 = df_ar.values

    df_ar_1

     

    <실행 화면>

    참고로, 데이터프레임을 Numpy 행렬로 변환할 수도 있다.

    .values 를 사용하며, 이때에는 기존 데이터프레임의 인덱스명, 컬럼명은 무시된다.

    (Numpy 행렬에는 인덱스와 컬럼이 없기 때문에 값만 가져온다.)

     

     

     

     

     

    오늘도 글 읽어 주셔서 감사합니다!

     

    Look Rich or Be Rich

    현명한 선택을 응원합니다.

    -파공-

     

     

    댓글

Designed by Tistory.