코딩재개발 RSS 태그 관리 글쓰기 방명록
2023-01-14 19:50:34

Pandas 데이터프레임을 사용할 때 처음 조금 낯설게 느껴지는 것이 있습니다. 반복문에서 데이터프레임의 행들을 얻고 싶을 때, 본능적으로 다음과 같이 사용하려고 합니다. 하지만, 이렇게 하면 데이터 프레임의 컬럼들만 얻게 됩니다. 

 

잘못된 접근

import pandas as pd

df = pd.DataFrame([[95, 92, 88], [84, 67, 88], [91, 99, 68], [87, 79, 81], [77, 92, 85]],
        index=['A', 'B', 'C', 'D', 'E'],
        columns=['math', 'english', 'history'],
    )
print(df, '\n')

for row in df:
    print(row)

 

 

옳은 접근

데이터프레임의 행을 얻고 싶을 때는 df.iterrows()를 사용할 수 있습니다. 

import pandas as pd

df = pd.DataFrame([[95, 92, 88], [84, 67, 88], [91, 99, 68], [87, 79, 81], [77, 92, 85]],
        index=['A', 'B', 'C', 'D', 'E'],
        columns=['math', 'english', 'history'],
    )
print(df, '\n')

for idx, row in df.iterrows():
    print("행 인덱스: ", idx)
    print(row['math'], row['english'], row['history'], '\n')

 

 

참고자료

[1] https://ponyozzang.tistory.com/609

글을 읽던 중에 궁금했던 부분은 질문해주세요.
칭찬, 지적, 의문, 격려, 감사표현 등을 남겨주세요.
최대한 답변 드리도록 노력하겠습니다.
욕설과 광고를 담은 댓글은 가차없이 삭제합니다.
비밀글