0

나는 두 개의 열로 구성된 DataFrame이 주어 졌을 때 다음과 같은 기본 작업을 수행하는 팬더 함수를 찾고 있습니다. 두 번째 열의 각 특정 값이 주어지면 첫 번째 열의 요소 조건부 분포를 얻고 싶습니다.팬더를 사용하여 두 열의 빈도 요약하기

다음은 예입니다. 을 감안할 때 : 우리가 받아야

0 1 
0 a b 
1 a b 
2 a b 
3 b b 
4 b b 
5 a a 

:

import pandas as pd 
pd.DataFrame([['a', 'b'], ['a', 'b'], ['a', 'b'], ['b', 'b'], ['b', 'b'],['a','a']]) 

처럼 보이는 이러한 주파수 분포이기 때문에 열이 1로 요약해야

'a' 'b' 
'a' 1 0.6 
'b' 0 0.4 

참고.

답변

1
import pandas as pd 
data = pd.DataFrame([['a', 'b'], ['a', 'b'], ['a', 'b'], ['b', 'b'], ['b', 'b'],['a','a']]) 

#Answer: 
pd.crosstab(data[0],data[1]).apply(lambda r: r/r.sum(), axis=0) 


1 a b 
0  
a 1 0.6 
b 0 0.4