DataFrame
Pandas 전체 에 적용된 함수의 행 인덱스에 액세스하려고합니다 . 다음과 같은 것이 있습니다.
df = pandas.DataFrame([[1,2,3],[4,5,6]], columns=['a','b','c'])
>>> df
a b c
0 1 2 3
1 4 5 6
주어진 행으로 요소에 액세스하는 함수를 정의하겠습니다.
def rowFunc(row):
return row['a'] + row['b'] * row['c']
다음과 같이 적용 할 수 있습니다.
df['d'] = df.apply(rowFunc, axis=1)
>>> df
a b c d
0 1 2 3 7
1 4 5 6 34
대박! 이제 인덱스를 함수에 통합하려면 어떻게해야합니까? 이에 주어진 행의 인덱스를 DataFrame
추가하기 전에이 d
될 것입니다 Index([u'a', u'b', u'c', u'd'], dtype='object')
,하지만 난 0과 1 내가 할 수있는 그래서 그냥 액세스하려는 row.index
.
인덱스를 저장하는 테이블에 임시 열을 만들 수 있다는 것을 알고 있지만 어딘가에 행 개체에 저장되어 있는지 궁금합니다.
실제로 @DSM 다른 행 요소를 사용하여 각 행에 대해 다른 개체 생성자를 호출하고 있습니다. 나는 질문을 설명하기 위해 최소한의 예를 모으고 싶었습니다.
—
Mike
apply
있습니까? 프레임 자체에서 벡터화 된 작업을 수행하는 것보다 훨씬 느립니다. (때로는 적용하는 것이 가장 간단한 방법이며 성능 고려 사항은 종종 과장되지만 특정 예에서는 사용 하지 않는 것이 쉽습니다 .)