[PYTHON] Pandas DataFrame의 조건부 논리
PYTHONPandas DataFrame의 조건부 논리
Pandas DataFrame에 조건부 논리를 적용하는 방법
아래 표시된 DataFrame을 참조하십시오.
data desired_output
0 1 False
1 2 False
2 3 True
3 4 True
내 원래 데이터가 '데이터'열에 표시되고 desired_output이 옆에 표시됩니다. 'data'의 숫자가 2.5보다 작 으면 desired_output은 False입니다.
나는 루프를 적용하고 DataFrame을 재구성 할 수 있습니다 ...하지만 그것은 '비 - 파이썬 적'
해결법
-
==============================
1.그 값과 열을 비교하면됩니다.
그 값과 열을 비교하면됩니다.
In [9]: df = pandas.DataFrame([1,2,3,4], columns=["data"]) In [10]: df Out[10]: data 0 1 1 2 2 3 3 4 In [11]: df["desired"] = df["data"] > 2.5 In [11]: df Out[12]: data desired 0 1 False 1 2 False 2 3 True 3 4 True
-
==============================
2.
In [1]: df Out[1]: data 0 1 1 2 2 3 3 4
선택한 데이터 프레임 열을 기반으로 값을 조건부로 반환하는 함수를 적용하려고합니다.
In [2]: df['data'].apply(lambda x: 'true' if x <= 2.5 else 'false') Out[2]: 0 true 1 true 2 false 3 false Name: data
그런 다음 반환 된 열을 데이터 프레임의 새 열에 할당 할 수 있습니다.
In [3]: df['desired_output'] = df['data'].apply(lambda x: 'true' if x <= 2.5 else 'false') In [4]: df Out[4]: data desired_output 0 1 true 1 2 true 2 3 false 3 4 false
-
==============================
3.이 특정 예제에서는 DataFrame이 하나의 열만있는 경우 다음과 같이 우아하게 작성할 수 있습니다.
이 특정 예제에서는 DataFrame이 하나의 열만있는 경우 다음과 같이 우아하게 작성할 수 있습니다.
df['desired_output'] = df.le(2.5)
le는 요소가 2.5 이하인지 여부를 테스트합니다. gt와 gt보다 작은 경우도 마찬가지입니다.
-
==============================
4.
In [34]: import pandas as pd In [35]: import numpy as np In [36]: df = pd.DataFrame([1,2,3,4], columns=["data"]) In [37]: df Out[37]: data 0 1 1 2 2 3 3 4 In [38]: df["desired_output"] = np.where(df["data"] <2.5, "False", "True") In [39]: df Out[39]: data desired_output 0 1 False 1 2 False 2 3 True 3 4 True
from https://stackoverflow.com/questions/14714181/conditional-logic-on-pandas-dataframe by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 업데이트 후 파이썬 및 virtualenvwrapper 문제 : virtualenvwrapper라는 모듈 없음 (0) | 2018.10.20 |
---|---|
[PYTHON] HTTP 요청의 원래 IP 주소 스푸핑 (0) | 2018.10.20 |
[PYTHON] matplotlib에서 축 값을 변환 (또는 축척)하고 틱 주파수를 재정의하려면 어떻게합니까? (0) | 2018.10.20 |
[PYTHON] Keras를 사용하여 모델 출력 w.r.t 가중치의 그래디언트 가져 오기 (0) | 2018.10.20 |
[PYTHON] 장고 관리자에서 개체를 만들 때 현재 사용자를 자동 삽입하는 방법? (0) | 2018.10.20 |