Thep Excel

14 functions

arr.reshape ใน NumPy ผมใช้สำหรับเปลี่ยนรูปร่าง (shape) ของ array โดยจำนวนสมาชิกทั้งหมดยังคงเดิม เช่น แปลง 1D array 12 ตัวให้กลายเป็น matrix 3×4 ได้ทันที โดยไม่ต้องสร้างข้อมูลใหม่ครับ

Syntax
arr.reshape(newshape)

np.sort ผมใช้เรียงค่าใน array ของ numpy จากน้อยไปมาก แล้วคืน array ใหม่ที่เรียงแล้วออกมา (ของเดิมไม่ถูกแตะต้อง) ถ้าใครคุ้นกับ SORT หรือเมนู Data > Sort ใน Excel บอกเลยว่าตัวนี้คือสายเดียวกันเลยครับ

Syntax
np.sort(a, axis)

np.unique ใช้หาค่าที่ไม่ซ้ำกันใน array แล้วเรียงจากน้อยไปมากให้อัตโนมัติ คล้ายกับฟังก์ชัน UNIQUE ใน Excel 365 มากครับ ยังนับความถี่แต่ละค่าได้ด้วยถ้าใส่ return_counts=True

Syntax
np.unique(ar, return_index, return_inverse, return_counts)

pandas .dt accessor ผมใช้สำหรับดึงส่วนต่างๆ ของวันที่ออกจาก datetime Series เช่น ปี เดือน วัน ชื่อวัน หรือไตรมาส เหมือนกับที่ Excel มีฟังก์ชัน YEAR() MONTH() DAY() WEEKDAY() แต่ทำได้กับทั้งคอลัมน์พร้อมกันในคำสั่งเดียวเลยครับ

Syntax
Series.dt.year

pandas .str accessor ทำให้ผมใช้ text functions อย่าง upper, replace, contains กับทุกแถวในคอลัมน์พร้อมกันบรรทัดเดียว เหมือนได้ UPPER/SUBSTITUTE/SEARCH ของ Excel แต่ไม่ต้องลากสูตรทีละเซลล์ครับ

Syntax
df['col'].str.method()

apply ใน pandas ผมใช้สำหรับรันฟังก์ชันกับแต่ละแถวหรือแต่ละคอลัมน์ใน DataFrame หรือรันกับแต่ละค่าใน Series ตอนที่ต้องการ logic ซับซ้อนที่ vectorized operations ทำไม่ได้ครับ

Syntax
df.apply(func, axis)

astype ใน pandas ผมใช้สำหรับแปลงประเภทข้อมูล (dtype) ของคอลัมน์หรือ DataFrame เช่น จาก object เป็น int หรือ float เป็น str ทำให้คำนวณได้ถูกต้องและประหยัด memory มากขึ้นครับ

Syntax
df.astype(dtype, errors)

drop ใน pandas ผมใช้สำหรับตัดคอลัมน์หรือแถวที่ไม่ต้องการออกจาก DataFrame โดยระบุชื่อเองโดยตรง เหมือนการ "ลบคอลัมน์" ใน Excel แบบเลือกได้เป๊ะๆ ว่าจะเอาคอลัมน์ไหนออกครับ

Syntax
df.drop(labels, axis, columns, index)

pd.melt ผมใช้แปลงตารางจากแนวกว้าง (wide) ให้เป็นแนวยาว (long) คือยุบหลายๆ คอลัมน์ให้มารวมกันเป็นคอลัมน์เดียว ถ้าใครเคยใช้ Power Query มาก่อน บอกเลยว่านี่คือคำสั่ง Unpivot นั่นแหละครับ แค่ย้ายมาเขียนใน pandas

Syntax
pd.melt(frame, id_vars, value_vars, var_name, value_name)

rename ใน pandas ผมใช้สำหรับเปลี่ยนชื่อคอลัมน์หรือ index ใน DataFrame โดยส่ง dict บอกว่า 'ชื่อเดิม' ควรกลายเป็น 'ชื่อใหม่' อะไร เหมือนการ Rename column header ใน Excel แต่ทำแบบโปรแกรมได้ครับ

Syntax
df.rename(mapper, columns, index, axis)

reset_index ผมใช้สำหรับเปลี่ยน index ของ DataFrame กลับมาเป็นคอลัมน์ธรรมดา แล้วเซ็ต index ใหม่เป็น 0, 1, 2, … ตามลำดับ — ส่วนใหญ่จะโผล่หลัง groupby ทุกครั้งที่อยากนำผลลัพธ์ไปใช้งานต่อครับ

Syntax
df.reset_index(drop, inplace)

set_index ใน pandas ผมใช้สำหรับตั้งคอลัมน์ใดคอลัมน์หนึ่ง (หรือหลายคอลัมน์) ให้กลายเป็น index หลักของ DataFrame เหมือนกับการกำหนดคีย์หลักให้ตาราง เพื่อให้ค้นหาข้อมูลด้วย .loc[] ได้อย่างรวดเร็วและตรงจุดครับ

Syntax
df.set_index(keys, drop, append)

df.sort_values() ใน pandas ผมใช้สำหรับเรียงลำดับแถวใน DataFrame ตามค่าของคอลัมน์ที่กำหนด เรียงจากน้อยไปมากหรือมากไปน้อยก็ได้ และยังเรียงตามหลายคอลัมน์พร้อมกันได้ด้วยครับ

Syntax
df.sort_values(by)

pd.to_datetime() ใช้แปลงข้อมูลวันที่ที่อยู่ในรูป string หรือตัวเลขให้กลายเป็น datetime ที่ pandas จัดการได้ครับ พอแปลงแล้วก็เรียงลำดับ คำนวณระยะเวลา และดึงเดือน-ปี-วันออกมาได้ทันที

Syntax
pd.to_datetime(arg, format, errors, dayfirst, yearfirst, utc, unit, origin, cache)