반응형
적용 할 기능은 다음과 같습니다.
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
반응형
'파이썬' 카테고리의 다른 글
파이썬 ElementTree 및 유니 코드 (0) | 2021.02.06 |
---|---|
파이썬 Python을 사용하여 JSON에서 값 가져 오기 (0) | 2021.02.06 |
파이썬 Python을 사용하여 CSV에서 비표준 미국 영어 문자 및 기호 처리 (0) | 2021.02.05 |
파이썬 Matplotlib에서 플로팅 창을 열어 둡니다. (0) | 2021.02.05 |
파이썬 What is a clean way to convert a string percent to a float? (0) | 2021.02.05 |
댓글