Pandas_UI

Pandas_UI เครื่องมือจัดการ Pandas DataFrame แบบง่าย ๆ

ใน ep ที่แล้ว เราใช้ Pandas Profiling ในการช่วยทำการสำรวจข้อมูล Exploratory Data Analysis (EDA) แต่ถ้าเราต้องการเปลี่ยนแปลงข้อมูลนิด ๆ หน่อย ๆ หรือเราต้องการพล็อตกราฟที่ใน Pandas Profiling ไม่มีมาให้ล่ะ จะทำอย่างไร เราสามารถใช้ Pandas_UI มาช่วยได้

Pandas_UI คืออะไร

Pandas_UI คือ เครื่องมือหน้าจอ User Interface Tools ที่ช่วยอำนวยความสะดวกให้เราสามารถจัดการ และแก้ไขข้อมูลใน Pandas DataFrame ได้อย่างรวดเร็ว และง่ายดาย

เราสามารถเลือก Row, Column, เงื่อนไข และ Operation ที่ต้องการใน Pandas_UI จะช่วย Generate Code ภาษา Python ให้เรา โดยที่เราไม่ต้องจำชื่อฟังก์ชัน ชื่อพารามิเตอร์ต่าง ๆ

Pandas_UI ถูกสร้างด้วยเทคโนโลยีที่เราคุ้นเคย เช่น NumPy, plotly, ipywidgets, pandas_profiling, qgrid โดยสร้างเป็น Jupyter Notebook Extension ทำให้สามารถรันใน Jupyter Notebook ได้เลย

เรามาเริ่มกันเลยดีกว่า

ด้วย Code เพียงแค่ 3 บรรทัด

pip install pandas_ui
jupyter nbextension enable --py qgrid --sys-prefix
jupyter nbextension enable --py widgetsnbextension --sys-prefix

ใน ep ที่แล้ว เราใช้ Pandas Profiling ในการช่วยทำการสำรวจข้อมูล Exploratory Data Analysis (EDA) แต่ถ้าเราต้องการเปลี่ยนแปลงข้อมูลนิด ๆ หน่อย ๆ หรือเราต้องการพล็อตกราฟที่ใน Pandas Profiling ไม่มีมาให้ล่ะ จะทำอย่างไร เราสามารถใช้ Pandas_UI มาช่วยได้

Pandas_UI คืออะไร

Pandas_UI คือ เครื่องมือหน้าจอ User Interface Tools ที่ช่วยให้เราสามารถจัดการ และแก้ไขข้อมูล Pandas DataFrame ได้อย่างสะดวก และรวดเร็ว

เราสามารถเลือก Row, Column, เงื่อนไข และ Operation ที่ต้องการใน Pandas_UI จะช่วย Generate Code ภาษา Python ให้เรา โดยที่เราไม่ต้องจำชื่อฟังก์ชัน ชื่อพารามิเตอร์ต่าง ๆ

Pandas_UI ถูกสร้างด้วยเทคโนโลยีที่เราคุ้นเคย เช่น NumPy, plotly, ipywidgets, pandas_profiling, qgrid โดยสร้างเป็น Jupyter Notebook Extension ทำให้สามารถรันใน Jupyter Notebook ได้เลย

0. Install

ติดตั้ง Library pandas_ui และ Enable Jupyter Notebook Extension ให้เรียบร้อยIn [1]:

# ! pip install pandas_ui -q
# ! pip install fastai2 -q

In [2]:

# ! jupyter nbextension enable --py qgrid --sys-prefix
# ! jupyter nbextension enable --py widgetsnbextension --sys-prefix

1. Import

Import Library ที่เราติดตั้งไว้ด้านบนIn [3]:

from pandas_ui import *

from fastai2.basics import *

2. Data

ในเคสนี้เราจะใช้ Dataset ที่เป็นข้อมูลแบบ Tabular จาก Adult DatasetIn [4]:

path = untar_data(URLs.ADULT_SAMPLE)

ลอง ls ดูว่ามีไฟล์อะไรบ้างIn [5]:

path.ls()

Out[5]:

(#3) [Path('/home/keng/.fastai/data/adult_sample/export.pkl'),Path('/home/keng/.fastai/data/adult_sample/models'),Path('/home/keng/.fastai/data/adult_sample/adult.csv')]

3. Explore Data

สั่งเปิดไฟล์ CSV ได้เลยIn [6]:

# pandas_ui??

In [9]:

pandas_ui(path/'adult.csv')ตัวอย่างหน้าจอการใช้งาน

หน้าจอหลัก

ลบ Row ที่เลือกไว้

ประวัติการแก้ไข เราสามารถนำโค้ด Python ที่ Generate มาให้ไปใช้ต่อได้เลย

แก้ไขข้อมูลใน DataFrame โดยตรง

มีฟังก์ชัน Pandas Profiling Report ในตัว

เลือก 1 Column มาพล็อต Histogram เราสามารถนำโค้ด ภาษา Python ที่ Generate มาให้ไปใช้ต่อได้เลย

รองรับกราฟ 3 มิติ

ตัวอย่างหน้าจอพล็อตกราฟ 3 มิติ Scatter 3D เราไม่ต้องจำชื่อ Parameter

หน้าจอสร้างคำสั่ง Update ข้อมูลทีละเยอะ ๆ ตามเงื่อนไขที่กำหนด

Credit

หมายเหตุ

  • Library นี้ใหม่มาก ยังมี Bug อยู่หลายจุด

  • ถ้าเกิด Error ให้รัน Cell ใหม่

  • ขณะนี้ยังไม่รองรับ Google Colab

แชร์ให้เพื่อน:

FacebookTwitterEmailLinkedInLineShare

บทความที่เกี่ยวข้อง:

Reference : https://www.bualabs.com/archives/4299/pandas_ui-pandas-dataframe-user-interface-tools-pandas-ep-7/#more-4299

Last updated