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

เขียนโปรแกรมใน Python เพื่ออ่านข้อมูล CSV จากไฟล์และพิมพ์ผลรวมของสองแถวสุดท้าย


สมมติว่าคุณมีข้อมูลต่อไปนี้ในไฟล์ csv ของคุณและบันทึกเป็น pandas.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

ผลรวมของสองระเบียนสุดท้ายเป็น,

Sum of last two rows:
Id    9
Data 99

โซลูชันที่ 1

  • เข้าถึงข้อมูลที่เก็บไว้จากไฟล์ csv และบันทึกเป็นข้อมูลโดยใช้วิธีการด้านล่าง

data = pd.read_csv('pandas.csv')
  • แปลงข้อมูลเป็น dataframe และเก็บไว้ใน df

df = pd.DataFrame(data)
  • ใช้วิธีการด้านล่างเพื่อบันทึกสองรายการสุดท้ายและคำนวณผลรวม

df.tail(2)).sum()

ตัวอย่าง

มาดูการใช้งานด้านล่างเพื่อความเข้าใจที่ดีขึ้น -

import pandas as pd
data = pd.read_csv('pandas.csv')
df = pd.DataFrame(data)
print("Dataframe is\n",df)
print("Last two rows\n",df.tail(2).sum())

ผลลัพธ์

Dataframe is
 Id Data
0 1 11
1 2 22
2 3 33
3 4 44
4 5 55
5 6 66
6 7 77
7 8 88
8 9 99
9 10 100
Last two rows
Id    19
Data 199

โซลูชันที่ 2

  • เข้าถึงข้อมูลที่เก็บไว้จากไฟล์ csv และบันทึกเป็นข้อมูลโดยใช้วิธีการด้านล่าง

data = pd.read_csv('pandas.csv')
  • แปลงข้อมูลเป็น dataframe และเก็บไว้ใน df

df = pd.DataFrame(data)
  • ใช้วิธีดัชนีการแบ่งส่วนด้านล่างเพื่อใช้สองระเบียนสุดท้าย

df.iloc[-2:]

ตัวอย่าง

มาดูการใช้งานด้านล่างเพื่อความเข้าใจที่ดีขึ้น -

import pandas as pd
data = pd.read_csv('pandas.csv')
df = pd.DataFrame(data)
print("Dataframe is\n",df)
print("Last two rows\n",df.iloc[-2:].sum())

ผลลัพธ์

Dataframe is
 Id Data
0 1 11
1 2 22
2 3 33
3 4 44
4 5 55
5 6 66
6 7 77
7 8 88
8 9 99
9 10 100
Last two rows
Id    19
Data 199

โซลูชันที่ 3

  • เข้าถึงข้อมูลที่เก็บไว้จากไฟล์ csv และบันทึกเป็นข้อมูลโดยใช้วิธีการด้านล่าง

data = pd.read_csv('pandas.csv')
  • แปลงข้อมูลเป็น dataframe และเก็บไว้ใน df

df = pd.DataFrame(data)
  • ตั้งค่า id sum และ data sum ค่าเริ่มต้นเป็น 0

  • ตั้งค่า for loop เพื่อเข้าถึงข้อมูล dataframe และตั้งค่าเงื่อนไข if เพื่อเข้าถึงข้อมูลสองรายการล่าสุด

for i in range(len(df)):
if(i==len(df)-2 or i==len(df)-1):
  • คำนวณผลรวมของคอลัมน์ที่หนึ่งและที่สองโดยใช้ df.iloc[i][0] และ df.iloc[i][1],

id_sum = id_sum + df.iloc[i][0]
data_sum = data_sum + df.iloc[i][1]

ตัวอย่าง

มาดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

import pandas as pd
data = pd.read_csv('pandas.csv')
df = pd.DataFrame(data)
id_sum = 0
data_sum = 0
for i in range(len(df)):
   if(i==len(df)-2 or i==len(df)-1):
      id_sum = id_sum + df.iloc[i][0]
      data_sum = data_sum + df.iloc[i][1]
print("Id",id_sum)
print("Data",data_sum)

ผลลัพธ์

Id    19
Data 199