>백엔드 개발 >파이썬 튜토리얼 >Pandas DataFrame의 행을 효율적으로 반복하려면 어떻게 해야 합니까?

Pandas DataFrame의 행을 효율적으로 반복하려면 어떻게 해야 합니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-23 20:37:11287검색

How Do I Iterate Over Rows in a Pandas DataFrame Efficiently?

Pandas DataFrame에서 행 반복

Pandas DataFrame에서 행을 반복하면 개별 행과 해당 요소에 액세스할 수 있습니다. 이를 달성하기 위해 Pandas는 일반적으로 사용되는 두 가지 메서드인 DataFrame.iterrows와 DataFrame.T.iteritems()를 제공합니다.

DataFrame.iterrows:

DataFrame.iterrows는 행의 인덱스와 Pandas 시리즈로 표시되는 행 자체를 모두 생성하는 생성기입니다. 다음 코드 조각은 사용법을 보여줍니다.

import pandas as pd
df = pd.DataFrame({'c1': [10, 11, 12], 'c2': [100, 110, 120]})

for index, row in df.iterrows():
    print(row['c1'], row['c2'])

이 결과는 다음과 같습니다.

10 100
11 110
12 120

DataFrame.T.iteritems():

DataFrame.T.iteritems()는 DataFrame의 열을 반복합니다. .T를 사용하고 .iteritems()를 사용하여 DataFrame을 전치하면 열 이름과 행이 모두 시리즈로 생성됩니다. 이 접근 방식은 일반적으로 iterrows보다 효율성이 떨어집니다.

for column_name, row in df.T.iteritems():
    print(column_name, row['c1'], row['c2'])

이 결과는 다음과 같습니다.

c1 10 11 12
c2 100 110 120

성능 고려 사항:

반복 pandas 객체는 일반적으로 벡터화된 작업이나 apply() 메서드를 사용하는 함수 적용보다 느립니다. 성능이 중요한 경우 cython 또는 numba를 활용하여 반복 작업의 성능을 향상시키는 것을 고려해 보세요.

위 내용은 Pandas DataFrame의 행을 효율적으로 반복하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.