สมมติว่าคุณมีไฟล์ CSV และต้องการอ่าน แล้วคำนวณผลรวมของ 2 แถวสุดท้าย
ข้อมูล CSV ตัวอย่าง (pandas.csv)
Id,Data
1,11
2,22
3,33
4,44
5,55
6,66
7,77
8,88
9,99
10,100
วิธีที่ 1: ใช้ tail() และ sum()
import pandas as pd
data = pd.read_csv('pandas.csv')
df = pd.DataFrame(data)
print("DataFrame:\n", df)
# 2 แถวสุดท้าย แล้วหาผลรวม
print("\nผลรวม 2 แถวสุดท้าย (tail+sum):")
print(df.tail(2).sum())
ผลลัพธ์
DataFrame:
Id Data
0 1 11
1 2 22
...
9 10 100
ผลรวม 2 แถวสุดท้าย (tail+sum):
Id 19
Data 199
dtype: int64
วิธีที่ 2: ใช้ iloc slicing
# ใช้ iloc[-2:] เลือก 2 แถวสุดท้าย
print(df.iloc[-2:].sum())
วิธีที่ 3: ใช้ลูป for คำนวณเอง
id_sum = 0
data_sum = 0
for i in range(len(df)):
if i == len(df) - 2 or i == len(df) - 1:
id_sum += df.iloc[i][0]
data_sum += df.iloc[i][1]
print("Id:", id_sum)
print("Data:", data_sum)
คำอธิบาย:
tail(2)และiloc[-2:]ให้ผลลัพธ์เดียวกัน (2 แถวสุดท้าย)sum()บน DataFrame จะคำนวณผลรวมต่อคอลัมน์ (column-wise)- วิธีที่ 1 และ 2 เป็น pandas idiomatic way เร็วและอ่านง่าย
- วิธีที่ 3 แสดง logic ดิบ แต่ไม่แนะนำให้ใช้กับข้อมูลใหญ่