Pandas 03 : Basic Operations

Data SciencePandas 03 : Basic Operations

Pandas operation

ในบทนี้เราจะมาเรียนเรื่องการใช้งาน basic operation กันครับ นั่นคือ Data Types, การ Explore data, การเรียกใช้ข้อมูล และการ Filter Data ภายใน DataFrame

Data Types

สิ่งแรกที่เราจะพูดถึงคือ Data Types ของ Pandas นะครับ

Data Type คือประเภทของข้อมูลครับ เราจะคุ้นเคยกันดีว่าการเก็บข้อมูลใน database นั้นจะต้องกำหนดประเภทของข้อมูลไว้ เพื่อให้เราสามารถ insert หรือ ทำการคำนวณได้ถูกต้อง

ใน Pandas นั้นจะมี Data type ทั้งหมดตามตารางข้างล่างนี้ครับ

alt text

Source: https://pbpython.com/pandas_dtypes.html

เมื่อเราทำการ Load ข้อมูลจาก dataset เขามาเก็บไว้ที่ DataFrame Pandas จะทำการระบุ DataType ให้โดยอัตโนมัติ และเราสามารถใช้คำสั่ง dtypes หรือ info() ตรวจสอบข้อมูลได้ครับ

alt text

alt text

Explore data

ถึงตอนนี้แล้วเราได้ทดลองใช้งาน head() และ tail() และ info() ไปแล้วนะครับ

alt text

ต่อไปเรามาลองใช้ function เพื่อหาขนาดของ DataFrame กันครับ นั่นคือ len() และ shape() ครับ

shape() จะบอกเราว่า DataFrame มีกี่ Row และ Column

ส่วน len() นั้นจะบอกว่ามีทั้งหมดกี่ Row ครับ

alt text

Accessing data

การเข้าถึงข้อมูลหรือ value นั้นสามารถทำได้ 2 วิธีครับ

  1. ใช้ label หรือชื่อ column
  2. ใช้ index ของ column ในการเรียกข้อมูล ตามปกติ index จะเริ่มต้นที่ 0 และเพิ่มขึ้นทีละ 1 ไปเรื่อยๆ จนครบทุก column

การเรียกข้อมูลโดยใช้ชื่อ column ทำได้ตามตัวอย่างครับ

df['Product']

ซึ่งจะเป็นการแสดงข้อมูลทั้งหมดใน column Product นั่นเองครับ

alt text

หรือถ้าหากเราต้องการข้อมูลบางส่วน เราก็สามารถใช้ index ในการเลือกข้อมูลมาแสดงผลได้ครับ เช่น

df['Product'][0]

จะแสดง value แรกของ Product ขึ้นมา สังเกตนะครับ ว่า Python จะเริ่ม index ที่ 0 เสมอ

alt text

แล้วถ้าหากเราต้องการเลือกข้อมูลมากกว่า 1 ค่า เราจะใช้คำสั่งอย่างไรได้บ้าง ก็ใช้เป็น

df['Product'][0:10]

จะแสดงข้อมูล 10 ตั้งแต่ index 0-10 ค่าครับ

ซึ่งการเรียกข้อมูลแบบนี้ เราจะได้เป็น Series นะครับ แต่ถ้าหากเราอยากได้ข้อมูลออกมาเป็น DataFrame เราจะต้องใช้ [[]] แบบนี้ครับ

df[['Product']]

alt text

และเราสามารถเลือกข้อมูลหลาย Column เราสามารถทำได้โดยใส่ชื่อ Column เข้าไปเพิ่มใน List ได้เลยครับ

df[['Product','Revenue']]

เมื่อข้อมูลอยู่ในรูปแบบ DataFrame ทำให้เราใช้ operation ของ Dataframe ได้

alt text

Filtering DataFrames

เราสามารถ Filter ข้อมูลใน DataFrame โดยใช้ Boolean Series ครับ ยกตัวอย่าง

alt text

จากนั้นเราก็นำ Boolean series ไปเรียกใน bracket แบบนี้ได้เลยครับ

df[df['Revenue'] > 1200000] # เลือกข้อมูลจาก DataFrame ที่มียอดขายมากกว่า 1,200,000

alt text

ถ้าเรามีเงื่อนไขเพิ่มเติมเข้ามา เราสามารถใส่เงื่อนไขเข้าไปเพิ่มได้ครับ

เช่น หากเราต้องการดูข้อมูลยอดขายที่มากกว่า 1,200,000 เฉพาะในปี 2014 ว่ามีสินค้าอะไรบ้าง

df[(df['Revenue'] > 1200000) & (df['Year'] == 2014)]

alt text

สังเกตว่าผมใช้เครื่องหมาย & เพื่อระบุว่าต้องเป็นจริงทั้งคู่ครับ

หรือถ้าหากเราอยากได้ยอดขายสินค้าที่มากกว่า 1,200,000 หรือขายได้มากกว่า 60,000 ชิ้น ให้ใช้เครื่องหมาย | แทนครับ ซึ่งเราสามารถเขียน code ได้แบบนี้ครับ

df[(df['Revenue'] > 1200000) | (df['Quantity'] > 60000)]

alt text

คราวนี้เรามาลองเลือกข้อมูลเฉพาะ Product, Revenue, Quantity ที่มียอดขาย ยอดขายสินค้าที่มากกว่า 1,200,000 หรือขายได้มากกว่า 60,000 ลองเขียน code ดูมั้ยครับ?

เฉลย

alt text

Practice

ถึงตอนนี้เราคงพอจะเข้าใจวิธีการเรียกดูข้อมูลใน DataFrame แล้ว ก่อนจบบทนี้เดี๋ยวผมขอให้ลองทำแบบฝึกข้างล่างดูนะครับ ทำเสร็จแล้วอยากให้ช่วยตรวจก็ส่ง Comment มาได้เลยครับผม เจอกันบทหน้านะครับ

  1. ให้สร้าง DataFrame แสดงข้อมูลสินค้าที่มี Revenue มากกว่า 1,500,000
  2. ให้สร้าง DataFrame แสดงข้อมูลสินค้าที่มี Quantity น้อยกว่า 2
  3. ให้สร้าง DataFrame แสดงข้อมูลสินค้าที่มี Gross margin มากกว่า 0.75 เฉพาะ Retailer country ประเทศ Italy

Related articles

การใช้ Claude Desktop MCP เชื่อมต่อกับ Notion ผ่าน smithery.ai – คู่มือฉบับสมบูรณ์

เรียนรู้วิธีตั้งค่าและใช้งาน Claude Desktop MCP เพื่อเชื่อมต่อกับ Notion ผ่าน smithery.ai ทีละขั้นตอน เหมาะสำหรับผู้เริ่มต้นที่ต้องการสร้าง AI workflow automation เพื่อจัดการงานและข้อมูลอย่างมีประสิทธิภาพ

อาชีพใหม่สำหรับยุค AI: เตรียมพร้อมคว้าโอกาสในโลกการทำงานที่ขับเคลื่อนด้วยปัญญาประดิษฐ์

ค้นพบอาชีพใหม่มาแรงในยุค AI พร้อมทักษะที่จำเป็น และแนวทางเตรียมตัวสำหรับเจ้าของธุรกิจ SME และคนทำงาน เพื่อเติบโตในโลกที่ขับเคลื่อนด้วย AI ไปกับ Data-Espresso

Vibe Coding: เทรนด์ใหม่ในการพัฒนาซอฟต์แวร์ด้วย AI

ทำความรู้จักกับ Vibe Coding เทรนด์ใหม่ที่ใช้ AI ในการพัฒนาซอฟต์แวร์ ช่วยให้โค้ดดิ้งง่ายขึ้นและมีประสิทธิภาพมากขึ้น

DeepSeek R1: ผู้ท้าชิงใหม่ด้านการใช้เหตุผลของ AI ที่น่าจับตา

DeepSeek R1 โมเดล AI ใหม่ ที่มีความสามารถด้านการใช้เหตุผลใกล้เคียง OpenAI o1 แต่ต้นทุนถูกกว่าถึง 27 เท่า จะเปลี่ยนวงการ AI หรือไม่?

AI หนุนอนาคตสดใส Product Manager แต่ยังขาดแคลนทักษะ AI

AI ทำให้การพัฒนาซอฟต์แวร์เร็วขึ้น ส่งผลให้ความต้องการ Product Manager เพิ่มสูง แต่ยังขาดแคลนผู้มีทักษะด้าน AI
บทความก่อนหน้านี้
บทความถัดไป

Related Article

Presentation Preparation Prompt

#ROLE คุณเป็นนักวิเคราะห์การตลาดระดับอาวุโส มีประสบการณ์ 15+ ปี ในการวิจัยและวิเคราะห์ตลาดสากล #INSTRUCTION จัดทำรายงานการวิเคราะห์ตลาดที่ครอบคลุมและเป็นกลาง สำหรับการตัดสินใจเข้าสู่ตลาดใหม่ #STEPS 1. รวบรวมและวิเคราะห์ข้อมูลตลาดปัจจุบัน 2. ศึกษาพฤติกรรมและความต้องการของกลุ่มเป้าหมาย 3. วิเคราะห์คู่แข่งและโครงสร้างตลาด 4. ประเมินปัจจัยความสำเร็จและอุปสรรค 5. จัดอันดับความน่าสนใจของตลาดตามเกณฑ์วัดผล 6. เสนอแนะแนวทางและทางเลือกในการเข้าสู่ตลาด #EXPECTATION รายงานการวิเคราะห์ตลาดที่: - นำเสนอข้อมูลเป็นกลาง ไม่มีอคติ - อ้างอิงแหล่งข้อมูลที่เชื่อถือได้ - ให้ภาพรวมที่ครบถ้วนและสมดุล - มีคำแนะนำที่ปฏิบัติได้จริง #EXAMPLE <MARKET_REPORT> 1. บทสรุปผู้บริหาร (≤ 200 คำ) 2. ภาพรวมตลาด (ตาราง) 3. การวิเคราะห์เชิงลึกแต่ละตลาด 4....
person holding marker

Mega Prompt – Marketing Strategy

ในบทนี้เรามาเจาะลึกกันถึงเรื่องที่กำลังฮอตฮิตติดเทรนด์สุดๆ ในวงการการตลาดกันเลยนะครับ นั่นก็คือการใช้ AI อย่าง ChatGPT มาช่วยในการวิจัยตลาดและวิเคราะห์คู่แข่งเพื่อพัฒนากลยุทธ์ทางการตลาด ก่อนอื่น ผมขอเกริ่นนำสักนิดนะครับว่า... ในยุคที่ข้อมูลท่วมท้นแบบนี้ การจะเข้าถึงและวิเคราะห์ข้อมูลให้ทันกับความเปลี่ยนแปลงของตลาดนั้น ไม่ใช่เรื่องง่ายเลย แต่ด้วยพลังของ AI อย่าง ChatGPT ที่สามารถประมวลผลข้อมูลมหาศาลได้ในเวลาอันรวดเร็ว ทำให้งานวิจัยตลาดของเราง่ายขึ้นเยอะเลยล่ะครับ! #funfacts รู้หรือไม่? ChatGPT สามารถประมวลผลข้อมูลได้มากกว่า 100 ล้านพารามิเตอร์ ซึ่งมากกว่าสมองมนุษย์ถึง 1,000...

Prompt วิเคราะห์งบการเงิน

ตัวอย่างการนำ AI มาใช้ในการวิเคราะห์งบการเงิน Prompt นี้เหมาะกับการใช้งาน Claude, Gemini Prompt #ROLE: คุณเป็นนักวิเคราะห์การเงินผู้เชี่ยวชาญที่มีความเชี่ยวชาญในการประเมินผลการดำเนินงานและความสามารถในการทำกำไรของธุรกิจ #INSTRUCTIONS: สร้างรายงานวิเคราะห์การเงินแบบครอบคลุมเพื่อประเมินผลการดำเนินงานทางธุรกิจของบริษัท โดยใช้ข้อมูลการเงินจากไฟล์ Excel ที่มีหลาย sheet และนำเสนอในรูปแบบรายงาน HTML พร้อมกราฟสำหรับนักลงทุน #STEPS: 1. อ่านและตรวจสอบไฟล์ Excel - ดูรายชื่อ sheet ทั้งหมดและระบุประเภทของแต่ละ sheet...
สอบถามข้อมูล