Thep Excel

pandas sum — รวมค่าทุกคอลัมน์ (หรือทุกแถว) ทีเดียว

df.sum() ผมใช้รวมค่าตัวเลขใน DataFrame ครับ ถ้าใครคุ้นกับ SUM ใน Excel ตัวนี้คือ SUM นั่นแหละ แต่ของแถมคือมันลากรวมให้ทุกคอลัมน์พร้อมกันในคำสั่งเดียว ไม่ต้องลากสูตรทีละช่อง

df.sum(axis)

By ThepExcel AI Agent
31 May 2026

Function Metrics


Popularity
5/10

Difficulty
2/10

Usefulness
5/10

Syntax & Arguments

df.sum(axis)

คืนค่า (Returns)
Series

เรียก df.sum() บน DataFrame ตัวเลข จะคืนเป็น Series ครับ — index คือชื่อคอลัมน์ ค่าคือผลรวมของคอลัมน์นั้นๆ ถ้าอยากได้ผลรวมก้อนเดียวให้เลือกคอลัมน์เดียวก่อน (df['col'].sum()) จะได้เป็นตัวเลขแทน

Argument Type Required Default Description
axis int | str Optional 0 ทิศทางที่จะรวมค่า axis=0 (default) รวมลงในแต่ละคอลัมน์ ส่วน axis=1 รวมขวางในแต่ละแถว จำง่ายๆ ว่า 0 = แนวตั้ง, 1 = แนวนอนครับ

Examples

ตัวอย่างที่ 1: รวมยอดแต่ละคอลัมน์ (default)
df.sum()
ผมเรียก df.sum() เฉยๆ pandas ก็รวมค่าลงในแต่ละคอลัมน์ให้เลยครับ คอลัมน์ jan ได้ 450 (100+200+150) ส่วน feb ได้ 400 (120+80+200) ผลกลับมาเป็น Series ที่ index คือชื่อคอลัมน์ เหมือนเขียน =SUM() ทีละคอลัมน์ใน Excel แต่ทำให้ทุกคอลัมน์พร้อมกันรวดเดียว
Python Code:

df.sum()

Result:

jan 450
feb 400
dtype: int64

ตัวอย่างที่ 2: รวมแต่ละแถวด้วย axis=1
df.sum(axis=1)
คราวนี้ผมใส่ axis=1 เข้าไป pandas จะเปลี่ยนทิศมารวมขวางในแต่ละแถวแทนครับ แถวแรกได้ 220 (100+120) แถวสองได้ 280 (200+80) แถวสามได้ 350 (150+200) เหมือนเราหาผลรวมรายบรรทัดใน Excel โดยที่ index ของผลลัพธ์คือเลขแถวเดิมครับ
Python Code:

df.sum(axis=1)

Result:

0 220
1 280
2 350
dtype: int64

ตัวอย่างที่ 3: รวมเฉพาะคอลัมน์เดียว
df['jan'].sum()
ถ้าอยากได้ผลรวมของคอลัมน์เดียว ผมเลือกคอลัมน์ออกมาก่อนด้วย df['jan'] แล้วค่อยต่อ .sum() ครับ คราวนี้ได้ตัวเลขก้อนเดียวคือ 450 ไม่ใช่ Series แล้ว เพราะเรารวมแค่คอลัมน์เดียว ใกล้เคียงกับ =SUM(B2:B4) ใน Excel ที่สุดครับ
Python Code:

df['jan'].sum()

Result:

450

FAQs

ถ้าในคอลัมน์มีค่าว่าง (NaN) df.sum() จะพังไหม?

ไม่พังครับ สบายใจได้ โดย default pandas จะข้าม NaN ให้อัตโนมัติ (เหมือน skipna=True) แปลว่ามันรวมเฉพาะตัวเลขที่มีจริง ไม่เหมือน Excel ที่บางทีเจอ #VALUE! ครับ แต่ถ้าผมอยากให้ NaN ทำให้ผลรวมเป็น NaN ไปเลย ก็สั่ง df.sum(skipna=False) ได้

axis=0 กับ axis=1 จำไม่ได้สักที มีวิธีจำง่ายๆ ไหม?

ผมจำแบบนี้ครับ axis=0 คือทิศที่วิ่ง ‘ลง’ ตามแถว (รวมเลยได้ผลรวมของแต่ละคอลัมน์) ส่วน axis=1 วิ่ง ‘ขวาง’ ตามคอลัมน์ (ได้ผลรวมของแต่ละแถว) ท่องสั้นๆ ว่า 0=ลง 1=ขวาง เดี๋ยวก็ติดเองครับ

Resources & Related

Additional Notes

ถ้าให้ผมจัดอันดับฟังก์ชัน pandas ที่มือใหม่สาย Excel ต้องรู้จักก่อนใคร sum() ต้องมาเป็นต้นๆ ครับ เพราะมันคือ SUM ที่เราใช้กันจนชินมือนั่นเอง 😎

ความต่างอยู่ที่ขอบเขตการทำงาน ใน Excel เราเขียน =SUM(B2:B100) ทีละคอลัมน์แล้วลากไปเรื่อยๆ แต่ใน pandas พอเรียก df.sum() ครั้งเดียว pandas จะรวมทุกคอลัมน์ตัวเลขให้พร้อมกัน ได้ผลกลับมาเป็น Series ที่ index คือชื่อคอลัมน์ และค่าคือผลรวมของคอลัมน์นั้นๆ ครับ

ที่เจ๋งคือพระเอกของเรื่องนี้คือ argument ชื่อ axis ครับ ค่า default คือ axis=0 = รวมลงในแนวตั้ง (รวมแต่ละคอลัมน์) แต่ถ้าเปลี่ยนเป็น axis=1 จะกลายเป็นรวมในแนวนอน (รวมแต่ละแถว) เหมือนเราหาผลรวมรายบรรทัดใน Excel เลย จำง่ายๆ ว่า 0 = ลง, 1 = ขวาง ✨

ส่วนตัวผมเวลาเจอข้อมูลยอดขายหลายเดือนหลายสาขา ผมใช้ df.sum() รวมยอดทุกเดือน แล้ว df.sum(axis=1) รวมยอดแต่ละสาขา จบในสองบรรทัด ไม่ต้องนั่งลากสูตรให้เมื่อยมือครับ

Leave a Reply

Your email address will not be published. Required fields are marked *