본문 바로가기
파이썬

파이썬 Pandas : 기존 열에서 계산 된 값을 사용하여 데이터 프레임에 두 개의 새 열 만들기

by º기록 2021. 2. 6.
반응형


적용 할 기능은 다음과 같습니다.

def calculate(x):
    ...operate...
    return z, y

값만 반환하는 함수에 대한 새 열을 만드는 한 가지 방법은 다음과 같습니다.

df['new_col']) = df['column_A'].map(a_function)

그래서 내가 원하고 실패한 것 (*)은 다음과 같습니다.

(df['new_col_zetas'], df['new_col_ys']) = df['column_A'].map(calculate)


** df [ 'column_A']. map (calculate) 는 튜플 z, y로 구성된 각 항목의 팬더 시리즈를 반환합니다. 그리고 이것을 두 개의 데이터 프레임 열에 할당하려고하면 ValueError가 발생합니다. *

 

해결 방법

 

zip 을 사용합니다.

In [1]: from pandas import *

In [2]: def calculate(x):
   ...:     return x*2, x*3
   ...: 

In [3]: df = DataFrame({'a': [1,2,3], 'b': [2,3,4]})

In [4]: df
Out[4]: 
   a  b
0  1  2
1  2  3
2  3  4

In [5]: df["A1"], df["A2"] = zip(*df["a"].map(calculate))

In [6]: df
Out[6]: 
   a  b  A1  A2
0  1  2   2   3
1  2  3   4   6
2  3  4   6   9

 

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

 

 

반응형

댓글