2017-09-29 2 views
0

그래서 간단한 데이터 조작을 수행하고 정말 이상한 오류로 실행하려고합니다. 정말 저를 곤란하게합니다. 그래서 (같은 요소의 유형 아래 그림 참조), 수레의 목록의 pd.Series이 : 내가 기대처럼ndarray to pd.Series 정수 목록

y_hat: 
0   [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] 
1   [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] 
2   [0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0] 
3   [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] 
4   [0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0] 
          ...       
638  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] 
639  [0.0, 0.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0] 
640  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] 
641  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] 
642  [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] 
type(y_hat): <class 'pandas.core.series.Series'> 
type(y_hat[0]): <class 'list'> 
type(y_hat[0][0]): <class 'float'> 

그러나, 나는 요소에서 작동 할 수 없습니다.

y_hat = y_hat.apply(lambda x: x.append(1.0)) 

을 만 Nonetype 모든 요소를 ​​변환 : 다음 코드는 작동하지 않습니다. 그러나, 이러한 개별 요소에 대한 작업 않습니다

test = y_hat[0].append(1.0) 

어떤 생각을 내가) (series.apply에 추가하여 반복 할 수없는 이유는 무엇입니까?

+2

은'append' 방법은 아무것도 반환하지 않습니다. 'apply' 메쏘드 안에 이런 일이 일어나기 만하면됩니다. 'foo = [1, 2] bar = foo.append (3)'그리고 나서'bar'를보십시오 – johnchase

+0

오, 알았어요. 설명 주셔서 감사합니다! – Brendan

+0

호기심 때문에, 왜 당신은 * 목록 *의'pd.Series'를 사용하고 있습니까? 왜 데이터 프레임이나 2 차원'numpy.ndarray'가 아닌가? –

답변

0

나는 여전히 list.append가 작동하지 않았는지 모르겠지만, 내가 대신 다음과 같은 작품을 발견 :

y_hat = y_hat.apply(lambda x: x + [1.0])