지난 포스팅에 이어서 데이터프레임에서 iloc를 어느 경우에 활용하는지 알아보고, 사용법을 익혀보자. 오늘부터는 포스팅의 내용을 조금 짧게 진행하려고 한다. 너무 많은 내용을 담으려고 하다 보니 나도 지치고, 효율이 별로 좋지 않은 것 같아 내용은 짧고 간략하게 예제 중심으로 진행하고자 한다.
파이썬 데이터프레임 iloc의 개념과 기초
데이터프레임을 다룰 때 iloc의 경우 보이지 않는 인덱스를 기준으로 데이터프레임에 접근한다고 설명하였다.
기억나는가? 기억이 나지 않는다면 지난 포스팅을 보고 오자
파이썬 (Python) Dataframe 기초 강좌 #5 - loc와 iloc 사용법과 차이점
파이썬(Python) 데이터프레임(Dataframe) iloc와 index오늘은 데이터프레임에서 iloc와 loc의 사용법과 차이점에 대하여 이야기 해보려고 한다.지난 시간 계속 loc에 대한 설명을 했었다. loc의 경우 인덱스
flex-link.co.kr
예제파일은 아래에서 다운로드하도록 하자.
파일을 열어보면 아래와 같은 데이터들이 들어 있을 것이다.
인덱스의 경우 숫자가 아닌 문자로 채워져 있다
여기에 새로운 열을 추가하고, 이 열의 이름은 SIC로 하고 0으로 초기화하자.
열을 추가하는 것은 아주 간단하다.
import pandas as pd
df = pd.read_excel("sample4-1.xlsx", engine="openpyxl", na_values= " ", index_col=0)
df['SIC']= 0
print(df)
데이터프레임 iloc를 활용한 누적 합 계산 방법
SIC 열이 추가되었고, 모든 행에 0이 들어간 것을 확인할 수 있다. 이제 이 SIC 행에 iloc를 활용하여 값을 채워보자.
SIC 행에는 IC의 값을 누적하여 저장할 계획이다. 즉, 첫 번째 행의 IC 값이 4이고, 두 번째 행의 IC 값도 4이므로, SIC 값은 4, 8 , 13 이런 식으로 채워질 것이다.
이러한 경우 iloc를 사용하면 된다.
import pandas as pd
df = pd.read_excel("sample4-1.xlsx", engine="openpyxl", na_values= " ", index_col=0)
df['SIC']= 0
count =0
for i in df['IC'].to_list():
if count == 0 :
df.iloc[count,11] = i
pass
df.iloc[count,11] = df.iloc[count-1, 11] + i
count += 1
print(df)
데이터프레임 iloc를 활용한 누적 합 소스 코드 설명
iloc를 사용하기 위해서는 인덱스 정수 값으로 접근해야 하지만 이는 시스템에서 자동으로 할당되는 거라 직접 접근할 수 없다. 그래서 count라는 변수를 선언하고 0으로 초기화한다. 이 count 변수를 인덱스처럼 사용하면 되는 것이다.
그래서 데이터프레임의 IC 열을 가지고 와서 리스트로 변환하여 for 문에 넣어 주었다. 이 부분은 나중에 따로 다룰 예정이다.
이렇게 하면 데이터프레임의 IC 열의 행만큼 반복이 진행되므로 우리는 행이 몇 개인지 알 필요가 없다. 그냥 시작을 0부터 해주고 for 문이 끝날 때 +1 해주면 된다.
간단하지만 헷갈릴 수 있으니 잘 한번 고민해 보고 따라 해 보길 바란다
마무리
오늘은 데이터프레임에서 iloc를 활용하여 값을 증가시키는 예제를 다루어 보았다.
이전 행의 데이터를 가져와 현재 행의 값을 더하여 값을 넣어주는 코드이다. 코드의 의미를 잘 이해하고, iloc를 어떤 상황에서 사용하는지 기억해 두자.
다음에는 iloc를 활용한 다른 예제를 다루도록 하겠다.
'파이썬 > 파이썬 데이터프레임' 카테고리의 다른 글
파이썬 (Python) 데이터프레임 기초 강좌 #8 loc를 이용한 조건 행 추출 (0) | 2024.10.01 |
---|---|
파이썬 (Python) 데이터프레임 기초 강좌 #7 특정 다중 조건 행 추출 (0) | 2024.09.28 |
파이썬 (Python) Dataframe 기초 강좌 #5 - loc와 iloc 사용법과 차이점 (0) | 2024.09.26 |
파이썬 (Python) Dataframe 기초 강좌 #4 - 데이터프레임과 index (0) | 2024.09.19 |
파이썬 (Python) 데이터프레임 기초 강좌 #3 - loc와 index의 이해 (0) | 2024.09.11 |