음수 값과 양수 값의 합을 찾는 방법을 살펴보겠습니다. 처음에는 양수 및 음수 값으로 데이터 프레임을 만듭니다. -
dataFrame = pd.DataFrame({'Place': ['Chicago', 'Denver', 'Atlanta', 'Chicago', 'Dallas', 'Denver','Dallas', 'Atlanta'], 'Temperature': [-2, 30, -5, 10, 30, -5, 20, -10]})
그런 다음 groupby를 사용하여 Place 열을 기준으로 그룹화합니다. -
groupRes = dataFrame.groupby(dataFrame['Place'])
람다 함수를 사용하여 양수 및 음수 값을 반환합니다. 또한 양수 및 음수 값을 개별적으로 추가했습니다. −
# lambda function def plus(val): return val[val > 0].sum() def minus(val): return val[val < 0].sum()
예시
다음은 전체 코드입니다 -
import pandas as pd # create a DataFrame with temperature in celsius dataFrame = pd.DataFrame({'Place': ['Chicago', 'Denver', 'Atlanta', 'Chicago', 'Dallas', 'Denver','Dallas', 'Atlanta'], 'Temperature': [-2, 30, -5, 10, 30, -5, 20, -10]}) print(dataFrame) # using groupby to group on the basis of place groupRes = dataFrame.groupby(dataFrame['Place']) # lambda function def plus(val): return val[val > 0].sum() def minus(val): return val[val < 0].sum() print(groupRes['Temperature'].agg([('negTemp', minus), ('posTemp', plus)]))
출력
이것은 다음 코드를 생성합니다 -
Place Temperature 0 Chicago -2 1 Denver 30 2 Atlanta -5 3 Chicago 10 4 Dallas 30 5 Denver -5 6 Dallas 20 7 Atlanta -10 negTemp posTemp Place Atlanta -15 0 Chicago -2 10 Dallas 0 50 Denver -5 30