Computer >> Máy Tính >  >> Lập trình >> Python

Viết chương trình bằng Python để đọc dữ liệu CSV từ một tệp và in ra tổng của hai hàng cuối cùng

Giả sử bạn có dữ liệu sau trong tệp csv của mình và lưu nó dưới dạng 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

Kết quả cho tổng hai bản ghi cuối cùng là,

Sum of last two rows:
Id    9
Data 99

Giải pháp 1

  • Truy cập dữ liệu được lưu trữ từ tệp csv và lưu nó dưới dạng dữ liệu bằng phương pháp bên dưới,

data = pd.read_csv('pandas.csv')
  • Chuyển đổi dữ liệu thành dataframe và lưu trữ bên trong df,

df = pd.DataFrame(data)
  • Áp dụng phương pháp dưới đây để lấy hai bản ghi cuối cùng và tính tổng,

df.tail(2)).sum()

Ví dụ

Hãy xem cách triển khai bên dưới để hiểu rõ hơn -

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())

Đầu ra

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

Giải pháp 2

  • Truy cập dữ liệu được lưu trữ từ tệp csv và lưu nó dưới dạng dữ liệu bằng phương pháp bên dưới,

data = pd.read_csv('pandas.csv')
  • Chuyển đổi dữ liệu thành dataframe và lưu trữ bên trong df,

df = pd.DataFrame(data)
  • Áp dụng phương pháp chỉ mục cắt bên dưới để lấy hai bản ghi cuối cùng,

df.iloc[-2:]

Ví dụ

Hãy xem cách triển khai bên dưới để hiểu rõ hơn -

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())

Đầu ra

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

Giải pháp 3

  • Truy cập dữ liệu được lưu trữ từ tệp csv và lưu nó dưới dạng dữ liệu bằng phương pháp bên dưới,

data = pd.read_csv('pandas.csv')
  • Chuyển đổi dữ liệu thành dataframe và lưu trữ bên trong df,

df = pd.DataFrame(data)
  • Đặt giá trị ban đầu của tổng id và tổng dữ liệu là 0

  • Đặt vòng lặp for để truy cập dữ liệu khung dữ liệu và đặt điều kiện if để truy cập hai dữ liệu cuối cùng,

for i in range(len(df)):
if(i==len(df)-2 or i==len(df)-1):
  • Tính tổng cột đầu tiên và cột thứ hai bằng cách sử dụng df.iloc [i] [0] và df.iloc [i] [1],

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

Ví dụ

Hãy xem cách triển khai sau đây để hiểu rõ hơn,

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)

Đầu ra

Id    19
Data 199