나는 당신이 lambda
필요가 있다고 생각 - 팬더 기능을 가진 솔루션 median
+ std
(때문에 팬더의 기본 ddof=1
에 의해, 필요한 변화 ddof=0
입니다) :
aggfunc=lambda x: x.median() - x.std(ddof=0)
같은 것입니다 같은 :
aggfunc=lambda x: np.median(x) - np.std(x)
샘플 :
data = pd.DataFrame({
'Genename' : ['a','a','b','b', 'b', 'b'],
'Mediancoverage' : [4, 1, 5, 3, 7, 5],
'Componentnr' : [1,2,1,2,1,2],
})
print (data)
Componentnr Genename Mediancoverage
0 1 a 4
1 2 a 1
2 1 b 5
3 2 b 3
4 1 b 7
5 2 b 5
pivot=pd.pivot_table(data,
columns='Genename',
values='Mediancoverage',
index='Componentnr',
aggfunc=lambda x: x.median() - x.std(ddof=0))
print (pivot)
Genename a b
Componentnr
1 4 5
2 1 3
pivot=pd.pivot_table(data,
columns='Genename',
values='Mediancoverage',
index='Componentnr',
aggfunc=lambda x: np.median(x) - np.std(x))
print (pivot)
Genename a b
Componentnr
1 4 5
2 1 3
완벽하게 작동합니다. 많은 감사 :) – SGeuer