본문 바로가기
파이썬

파이썬 pandas DataFrame, 특정 열에 함수를 적용하는 방법은 무엇입니까?

by º기록 2020. 11. 7.
반응형


DataFrame.apply (func, axis = 0, broadcast = False, raw = False, reduce = None, args = (), ** kwds) ¶ DataFrame의 입력 축을 따라 기능을 적용합니다.

그렇다면 특정 열에 함수를 어떻게 적용 할 수 있습니까?

In [1]: import pandas as pd
In [2]: data = {'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]}
In [3]: df = pd.DataFrame(data)
In [4]: df
Out[4]: 
   A  B  C
0  1  4  7
1  2  5  8
2  3  6  9
In [5]: def addOne(v):
...:        v += 1
...:        return v
...: 
In [6]: df.apply(addOne, axis=1)
Out[6]: 
   A  B   C
0  2  5   8
1  3  6   9
2  4  7  10

모든 열이 아닌 df [ 'A'] 의 모든 값에 One을 추가하고 싶습니다. DataFrame.apply 로 어떻게 할 수 있습니까?

도와 줘서 고마워!

 

해결 방법

 

정답은,

df['A'] = df['A'].map(addOne)


그러나 apply 를 사용하고 싶다면 아래와 같이 시도 할 수 있습니다.

def addOne(v):
    v['A'] += 1
    return v

df.apply(addOne, axis=1)

 

참조 페이지 https://stackoverflow.com/questions/36213383

 

 

반응형

댓글