Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파일에서 CSV 데이터를 읽고 마지막 두 행의 총합을 인쇄하는 Python 프로그램 작성

<시간/>

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')
  • 데이터를 데이터 프레임으로 변환하고 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')
  • 데이터를 데이터 프레임으로 변환하고 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')
  • 데이터를 데이터 프레임으로 변환하고 df 내부에 저장,

df = pd.DataFrame(data)
  • id 합과 데이터 합 초기값을 0으로 설정

  • for 루프를 설정하여 데이터 프레임 데이터에 액세스하고 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