본문 바로가기

Python_Beginer/Study

[함수]print_df (PreetyTable) - 데이터 프레임 출력 함수

반응형

1. Python Code

from prettytable import PrettyTable
import pandas

#------------------------------------------
# 데이터 프레임 출력 함수
#------------------------------------------
def print_df(df):
# 변수의 타입을 확인한다.
print(type(df))

# 타입이 DataFrame인 경우 사용
if isinstance(df, pandas.core.frame.DataFrame):
print(df.shape)
# 파라미터로 전달된 데이터 프레임의 컬럼 이름들에 대한 리스트를
# 사용하여 PrettyTable 객체 생성
table = PrettyTable([''] + list(df.columns))

# 데이터프레임의 각 행마다 반복
for row in df.itertuples():
# 데이터 프레임의 각 행을 PrettyTable 객체에 추가
table.add_row(row)

# 결과를 문자열로 변환하여 출력
print(str(table))

# 데이터 프레임이 아닌 경우는 기본 출력 사용
else:
print(df)

# 빈 줄 출력
print("\n")


2. Import Module

from prettytable import PrettyTable
import pandas


3. DataFrame 사용예제


<class 'pandas.core.frame.DataFrame'>

(5, 43)

+----+-------------------------------------------------------------------+---------+-------------------+-----------+-----------+--------------+---------+------------+--------------------+-------------+----------+---------------------+---------+------------+-------------+-------------+-------+----------------+----------+--------------+----------+------------+-------------+--------+-----------------+----------+-------------+----------+--------------+--------------+---------------+----------+----------------+--------+------+---------+----------+-------------+------+----------------+-------------------+---------+-------------------+

|    |                               제품명                              |   가격  |      화면크기     |  운영체제 |   해상도  |     CPU      | CPU속도 |  인텔 GPU  |   그래픽 메모리    | 칩셋 제조사 | 코어종류 |        코드명       |  시리즈 | 터보부스트 | 메모리 용량 | 메모리 타입 |  SSD  | SSD 인터페이스 |  무선랜  |   블루투스   | 웹카메라 |   배터리   |     ODD     |  무게  | 디스플레이 특징 | 영상출력 | 입출력 포트 |   특징   |   부가기능   |  NVIDIA GPU  |     유선랜    | HDD 용량 |   리튬배터리   | 디자인 | eMMC | bit유형 | 무선연결 | 배터리 용량 | 2in1 | 듀얼메모리용량 | 듀얼그래픽-라데온 | AMD GPU | 듀얼그래픽-지포스 |

+----+-------------------------------------------------------------------+---------+-------------------+-----------+-----------+--------------+---------+------------+--------------------+-------------+----------+---------------------+---------+------------+-------------+-------------+-------+----------------+----------+--------------+----------+------------+-------------+--------+-----------------+----------+-------------+----------+--------------+--------------+---------------+----------+----------------+--------+------+---------+----------+-------------+------+----------------+-------------------+---------+-------------------+

| 79 |                       디클 클릭북 D141 METAL                      |  358590 |  14.1인치(35.8cm) | 윈도10 홈 | 1920x1080 | 셀러론-N3450 |  1.1GHz | GMA HD 500 | 시스템 메모리 공유 |     인텔    | 쿼드코어 |     아폴로레이크    |  셀러론 |   2.2GHz   |     4GB     |    DDR3L    |  nan  |      nan       | 802.11ac | 블루투스 4.2 |   nan    | 최대11시간 | 광Drive없음 | 1.39kg |       nan       | miniHDMI | USB 3.0 x 2 | 울트라북 | 키보드라이트 |     nan      |      nan      |   nan    |      nan       |  nan   | 64GB |   64.0  |   nan    |   4000mAh   | nan  |      nan       |        nan        |   nan   |        nan        |

| 80 |                     LG전자 그램15 15Z990-VA56K                    | 1681820 | 15.6인치(39.62cm) | 윈도10 홈 | 1920x1080 |   i5-8265U   |  1.6GHz |   UHD620   |        nan         |     인텔    | 쿼드코어 | 위스키레이크(8세대) |   nan   |   3.9GHz   |     8GB     |     DDR4    | 512GB |      M.2       | 802.11ac |   블루투스   |   nan    |    nan     | 광Drive없음 | 1.09kg |       nan       |   HDMI   | USB 3.1 x 3 |   nan    | 키보드라이트 |     nan      | 유선랜(1Gbps) |   nan    | 리튬이온(72Wh) |  nan   | nan  |   nan   |   nan    |     nan     | nan  |      nan       |        nan        |   nan   |        nan        |

| 81 | 가성비 노트북 스톰북14S (윈도우10포함, 램4GB, 풀HD, 고용량배터리) |  279000 |        nan        |    nan    |    nan    |     nan      |   nan   |    nan     |        nan         |     nan     |   nan    |         nan         |   nan   |    nan     |     nan     |     nan     |  nan  |      nan       |   nan    |     nan      |   nan    |    nan     |     nan     |  nan   |       nan       |   nan    |     nan     |   nan    |     nan      |     nan      |      nan      |   nan    |      nan       |  nan   | nan  |   nan   |   nan    |     nan     | nan  |      nan       |        nan        |   nan   |        nan        |

| 82 |                    LG전자 울트라PC 15U590-KA56K                   | 1098980 | 15.6인치(39.62cm) | 윈도10 홈 | 1920x1080 |   i5-8265U   |  1.8GHz |   UHD620   |        2GB         |     인텔    | 쿼드코어 | 위스키레이크(8세대) | 코어 i5 |   3.9GHz   |     8GB     |     DDR4    |  2TB  |      M.2       | 802.11ac |   블루투스   |   nan    |    52Wh    | 광Drive없음 | 1.85kg |     광시야각    |   HDMI   | USB 2.0 x 1 | 울트라북 |     웹캠     | 지포스 MX150 | 유선랜(1Gbps) |  500GB   |      nan       |  nan   | nan  |   64.0  |   nan    |     nan     | nan  |      nan       |        nan        |   nan   |        nan        |

| 83 |                      LG투인원PC 10T370-L860K                      |  299000 |        nan        |    nan    |    nan    |     nan      |   nan   |    nan     |        nan         |     nan     |   nan    |         nan         |   nan   |    nan     |     nan     |     nan     |  nan  |      nan       |   nan    |     nan      |   nan    |    nan     |     nan     |  nan   |       nan       |   nan    |     nan     |   nan    |     nan      |     nan      |      nan      |   nan    |      nan       |  nan   | nan  |   nan   |   nan    |     nan     | nan  |      nan       |        nan        |   nan   |        nan        |

+----+-------------------------------------------------------------------+---------+-------------------+-----------+-----------+--------------+---------+------------+--------------------+-------------+----------+---------------------+---------+------------+-------------+-------------+-------+----------------+----------+--------------+----------+------------+-------------+--------+-----------------+----------+-------------+----------+--------------+--------------+---------------+----------+----------------+--------+------+---------+----------+-------------+------+----------------+-------------------+---------+-------------------+


반응형