Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. สร้าง Subset DataFrame โดยเลือกคอลัมน์ด้วยชื่อ (Column Name)

    แนวคิด วิธีง่ายที่สุดคือใช้ square brackets พร้อมชื่อคอลัมน์: df[column_name] (ได้ Series) หรือ df[[col1, col2]] (ได้ DataFrame) ตัวอย่างโค้ด import pandas as pd df = pd.DataFrame({ Product: [SmartTV, ChromeCast, Speaker, Earphone], Opening_Stock: [300, 700, 1200, 1500], Closing_Stock:

  2. สร้าง Subset DataFrame ด้วย iloc() เลือกตามตำแหน่ง index

    แนวคิด DataFrame.iloc[row_slice, col_slice] เลือกข้อมูลด้วย integer position (ตำแหน่งตัวเลข) ไม่ใช่ label เหมาะสำหรับการ slice ตำแหน่งแถว/คอลัมน์ ตัวอย่างโค้ด import pandas as pd df = pd.DataFrame({ Product: [SmartTV, ChromeCast, Speaker, Earphone], Opening_Stock: [300, 700, 1200, 1500],

  3. เพิ่มแถวเข้า Pandas DataFrame ด้วย append()

    แนวคิด เมธอด DataFrame.append(other) เพิ่มแถวจาก DataFrame อื่นต่อท้าย คืน DataFrame ใหม่ หมายเหตุ: append() ถูก deprecated ใน Pandas 2.0+ ควรใช้ pd.concat() แทน ตัวอย่างโค้ด (append แบบเก่า) import pandas as pd df1 = pd.DataFrame({Car: [BMW, Lexus, Audi, Jaguar]}) df2 = pd.DataFrame({Car: [Merced

  4. ลบแถวออกจาก Pandas DataFrame ด้วย drop()

    แนวคิด เมธอด DataFrame.drop(labels, axis=0) ลบแถว (row) โดยระบุ index label คืน DataFrame ใหม่ (ไม่แก้ไขต้นฉบับ เว้นแต่ใช้ inplace=True) ตัวอย่างโค้ด import pandas as pd # DataFrame พร้อม custom index df = pd.DataFrame( [[10, 15], [20, 25], [30, 35], [40, 45]], index=[w, x, y, z], colu

  5. หาผลรวมแต่ละแถวใน Pandas DataFrame ด้วย sum(axis=1)

    แนวคิด เมธอด DataFrame.sum(axis=1) คำนวณผลรวมแนวนอน (row-wise) คืน Series ที่ index เดิม ค่าคือผลรวมของแต่ละแถว ตัวอย่างโค้ด import pandas as pd df = pd.DataFrame({ Opening_Stock: [300, 700, 1200, 1500], Closing_Stock: [200, 500, 1000, 900] }) print(DataFrame:\n, df) # ผลรวมแต่ละแถว row_

  6. กรอง Pandas DataFrame ด้วย NumPy where()

    แนวคิด numpy.where(condition) คืน index (tuple of arrays) ที่เงื่อนไขเป็น True นำไปใช้กับ df.loc[] เพื่อกรองแถว ได้ประสิทธิภาพดีสำหรับเงื่อนไขซับซ้อนหลายข้อ ตัวอย่างโค้ด = 700 AND Closing_Stock = 700) & (df[Closing_Stock] = 500) & (df[Closing_Stock] < 1000) & (df[Product].str.startswith(C

  7. สร้าง Subset DataFrame ใน Pandas ด้วย Indexing Operator

    แนวคิด ใช้ square brackets [] (indexing operator) เลือกคอลัมน์จาก DataFrame สร้าง DataFrame ใหม่ที่มีเฉพาะคอลัมน์ที่ต้องการ ตัวอย่างโค้ด import pandas as pd df = pd.DataFrame({ Product: [SmartTV, ChromeCast, Speaker, Earphone], Opening_Stock: [300, 700, 1200, 1500], Closing_Stock: [200

  8. หาจำนวนคำขั้นต่ำเพื่อสร้างสตริงเป้าหมาย (Set Cover Problem)

    แนวคิด โจทย์แบบ Set Cover: หาจำนวนคำน้อยที่สุดจากลิสต์ ที่รวมตัวอักษร (unique characters) ครอบคลุมสตริงเป้าหมายทั้งหมด ใช้ itertools.combinations ลองทุกชุดย่อย ตัวอย่างโค้ด from itertools import combinations my_list = [python, is, fun, to, learn] print(ลิสต์คำ:, my_list) my_target_str = onis prin

  9. Cumulative Row Frequencies: นับความถี่สะสมของค่าเฉพาะในแต่ละแถว

    แนวคิด กำหนด matrix และลิสต์ค่าเป้าหมาย ให้คำนวณในแต่ละแถวว่า ค่าเป้าหมายแต่ละตัวปรากฏกี่ครั้ง แล้วรวมกันเป็นผลรวมต่อแถว ตัวอย่างโค้ด from collections import Counter my_list = [ [11, 2, 32, 4, 31], [52, 52, 3, 71, 71, 3], [1, 3], [19, 19, 40, 40, 40] ] print(Matrix:, my_list) my_e

  10. บวกค่าคงที่เข้ากับทุกสมาชิกในลิสต์

    แนวคิด การบวกตัวเลขคงที่ (scalar) เข้ากับทุกสมาชิกในลิสต์ ใช้ list comprehension หรือ NumPy ตัวอย่างโค้ด my_list = [25, 36, 75, 36, 17, 7, 8, 0] print(ลิสต์:, my_list) my_key = 6 print(ค่าที่จะบวก:, my_key) # List comprehension my_result = [x + my_key for x in my_list] print(ผลลัพธ์:, my_result)

  11. เรียง Matrix ตามผลรวมความต่างสัมบูรณ์ของสมาชิกติดกัน

    แนวคิด สำหรับแต่ละแถว คำนวณผลรวมของ |row[i+1] - row[i]| สำหรับทุก i แล้วเรียงแถวตามค่านี้จากน้อยไปมาก ตัวอย่างโค้ด def diff_summation_elem(row): ผลรวมความต่างสัมบูรณ์ระหว่างสมาชิกติดกัน return sum(abs(row[i+1] - row[i]) for i in range(len(row) - 1)) my_list = [ [97, 6, 47, 3], [6,

  12. หาความยาวคำที่ยาวที่สุดในลิสต์คำ

    แนวคิด วนลูปหาความยาวสูงสุดของสตริงในลิสต์ คืนค่าความยาว (ไม่คืนคำเอง) ตัวอย่างโค้ด max_length: max_length = len(element) return max_length my_list = [ab, abc, abcd, abcde] print(ลิสต์:, my_list) print(ความยาวคำยาวที่สุด:, find_longest_length(my_list)) ผลลัพธ์ ลิสต์: [ab, abc, a

  13. ดึงแถวที่มีข้อมูลชนิด Complex (list, tuple, dict, set) ใน Matrix

    แนวคิด จาก matrix (ลิสต์ของลิสต์) ให้คืนเฉพาะแถวที่มีสมาชิกเป็นชนิดข้อมูล container ได้แก่ list, tuple, dict, set ใช้ isinstance() ตรวจสอบ ตัวอย่างโค้ด my_list = [ [13, 1, 35], [23, [44, 54], 85], [66], [75, (81, 2), 29, 7] ] print(Matrix:, my_list) # ใช้ isinstance ตรวจสอบหลายชนิ

  14. เรียง Matrix ตามจำนวน Palindrome ในแต่ละแถว

    แนวคิด นับจำนวน palindrome (คำอ่านจากหน้าหลังเหมือนกัน) ในแต่ละแถว แล้วเรียงแถวตามจำนวนน้อยไปมาก ตัวอย่างโค้ด def get_palindrome_count(row): นับ palindrome ในแถว (row เป็นลิสต์ของสตริง) return len([elem for elem in row if elem == elem[::-1]]) my_list = [ [abcba, hdgfue, abc], [peep

  15. พิมพ์แถว K แถวที่มีผลรวมมากที่สุดจาก Matrix

    แนวคิด จาก matrix ให้หา K แถวที่มีผลรวม (sum) ของสมาชิกมากที่สุด ใช้ sorted() พร้อม key=lambda row: sum(row) และ reverse=True ตัวอย่างโค้ด my_list = [[2, 4, 6, 7], [2, 4, 8], [45], [1, 3, 5, 6], [8, 2, 1]] print(Matrix:, my_list) my_key = 3 print(K =, my_key) # เรียงจากผลรวมมากไปน้อย แล้ว取 K แถวแ

  16. พิมพ์แถวที่มีความยาวเท่ากับ K จาก Matrix

    แนวคิด จาก matrix (ลิสต์ของลิสต์) ให้คืนเฉพาะแถวที่มีจำนวนสมาชิกเท่ากับ K ที่กำหนด ตัวอย่างโค้ด my_list = [[22, 4, 63, 7], [24, 4, 85], [95], [2, 55, 4, 7, 91], [5, 31, 1]] print(Matrix:, my_list) my_key = 4 print(K =, my_key) my_result = [sub for sub in my_list if len(sub) == my_key] print(แถวที

  17. ลบค่า y ทุกตัวที่อยู่ก่อน x ในลิสต์

    แนวคิด กำหนดลิสต์ และค่า a, b ลบค่า b ทุกตัวที่อยู่ ก่อน ค่า a แรกที่เจอ (index น้อยกว่า) ค่า b ที่อยู่หลัง a คงไว้ ตัวอย่างโค้ด index_a) ] print(ผลลัพธ์ (ลบ 4 ที่อยู่ก่อน 8):, my_result) ผลลัพธ์ ลิสต์: [4, 45, 75, 46, 66, 77, 48, 99, 10, 40, 5, 8] ผลลัพธ์ (ลบ 4 ที่อยู่ก่อน 8): [45, 75, 46, 66,

  18. Reorder ลิสต์ให้ค่าซ้ำติดกัน (Group Consecutive Elements)

    แนวคิด เรียงลำดับลิสต์ใหม่ ให้ค่าที่เหมือนกันติดกัน (group identical values together) โดยรักษาจำนวนครั้งที่ปรากฏเดิม ใช้ collections.Counter นับความถี่ แล้วสร้างลิสต์ใหม่ ตัวอย่างโค้ด from collections import Counter my_list = [21, 83, 44, 52, 61, 72, 81, 96, 18, 44] print(ลิสต์ต้นฉบับ:, my_list)

  19. ตรวจสอบว่าแถวทุกแถวใน Matrix มีสมาชิกร่วมกับ Matrix อีกตัว

    แนวคิด กำหนดสอง matrix (ลิสต์ของลิสต์) ขนาดแถวเท่ากัน ตรวจสอบว่า ทุกแถว ของ matrix แรก มีสมาชิกร่วมกับแถวตรงข้ามของ matrix ที่สอง อย่างน้อย 1 ตัว ตัวอย่างโค้ด my_list_1 = [[3, 16, 1], [2, 4], [4, 31, 31]] my_list_2 = [[42, 16, 12], [42, 8, 12], [31, 7, 10]] print(Matrix 1:, my_list_1) print(Matrix

  20. ตรวจสอบว่า y ทุกตัวอยู่หลัง x ในลิสต์หรือไม่

    แนวคิด กำหนดค่า x, y ตรวจสอบว่าค่า y ทุกตัวในลิสต์อยู่ หลัง ค่า x แรกที่เจอ (index มากกว่า) หรือไม่ ตัวอย่างโค้ด my_list = [11, 25, 13, 11, 64, 25, 8, 9] print(ลิสต์:, my_list) x, y = 13, 8 x_index = my_list.index(x) # index แรกของ x print(fIndex ของ x={x}: {x_index}) my_result = True for index,

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:335/451  20-คอมพิวเตอร์/Page Goto:1 329 330 331 332 333 334 335 336 337 338 339 340 341