의 합이 내 데이터입니다 :GROUPBY 조건 및 계산 여기에 하위 그룹
import numpy as np
import pandas as pd
z = pd.DataFrame({'a':[1,1,1,2,2,3,3],'b':[3,4,5,6,7,8,9], 'c':[10,11,12,13,14,15,16]})
z
a b c
0 1 3 10
1 1 4 11
2 1 5 12
3 2 6 13
4 2 7 14
5 3 8 15
6 3 9 16
질문 :
어떻게 각 하위 그룹의 다른 요소에 대한 계산을 할 수 있습니까? 예를 들어 각 그룹에 대해 열 'b'의 해당 요소가 4와 9 사이에있는 'c'열의 요소를 모두 추출하려고합니다. 여기
내가 쓴 코드입니다 : (그것은 실행하지만 정확한 결과를 얻을 수 없다) 출력 결과가 같은 것을해야한다gbz = z.groupby('a')
# For displaying the groups:
gbz.apply(lambda x: print(x))
list = []
def f(x):
list_new = []
for row in range(0,len(x)):
if (x.iloc[row,0] > 4 and x.iloc[row,0] < 9):
list_new.append(x.iloc[row,1])
list.append(sum(list_new))
results = gbz.apply(f)
:
a c
0 1 12
1 2 27
2 3 15
사용할 수 있습니다. [이 비교] (https://pandas.pydata.org/pandas-docs/stable/comparison_with_sql.html)는 SQL이 무엇인지 모르더라도 SQL로 도움을 줄 수 있습니다. – dangom
@ 단국. 감사. – Saeed