Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เขียนโปรแกรม Python อ่าน CSV คำนวณผลรวม 2 แถวสุดท้าย

สมมติว่าคุณมีไฟล์ 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 ดิบ แต่ไม่แนะนำให้ใช้กับข้อมูลใหญ่