2014-06-12 2 views
1

필자는 binned 데이터 프레임을 sklearn의 PCA에서 사용할 수있는 binned numpy 배열로 변환 할 수 있을지 궁금합니다. 그룹화/비닝 된 데이터 프레임을 numpy 배열로 변환하는 방법은 무엇입니까?

여기 (x는 내 원래 unbinned dataframe입니다) 지금까지 내 코드입니다 :

bins=(2,6,10,14,20,26,32,38,44,50,56,62,68,74,80,86,92,98) 
binned_data = x.groupby(pd.cut(x.Weight, bins)) 

가 나는 NumPy와 배열에 binned_data을 변환 할. 미리 감사드립니다.

편집 :

AttributeError: Cannot access attribute 'values' of 'DataFrameGroupBy' objects, try using the 'apply' method 
+0

'binned_data.values'입니까? –

+0

아니, 나는 이것을 받았고 이것을 받았습니다 : AttributeError : 'DataFrameGroupBy'객체의 'values'속성에 접근 할 수 없습니다. 'apply'메소드를 사용하십시오. – tooty44

+0

'x'에 대한 간단한 설명이나 생성 할 코드를 추가하십시오. – FooBar

답변

1

당신은 DataFrame을 반환 할 GROUPBY 객체 집합의 어떤 종류를 적용 할 필요가 : 나는 binned_data.values을하려고하면

, 나는이 오류가 발생합니다. 일단 그렇게하면 .values을 사용하여 얼버무 리는 놈을 추출 할 수 있습니다. 각 빈에있는 데이터의 합계 또는 개수를 원하는 경우

예를 들어, 당신은 할 수 :

binned_data.sum().values 
binned_data.size().values 

편집 : 내 코드가 정확히 잘되지 않았기 때문에 열 (무게)와 색인은 동일한 이름을 갖습니다. 다음과 같이 색인의 이름을 바꾸면 해결할 수 있습니다 :

binned_data = x.groupby(pd.cut(x.Weight, bins)).sum() 
binned_data.index.name = 'Weight_Bin' 
binned_data.reset_index().values 
+0

입력 : 데이터 = binned_data.sum(). reset_index(). 값 및 다음 출력 : ValueError : 무게를 삽입 할 수 없습니다. 이미 있습니다. 이걸 일으킨 것 같아요? – tooty44

+0

고마워요! 그것은 지금 작동합니다! – tooty44

관련 문제