2017-09-29 10 views
0

私はいくつかの簡単なデータ操作を実行しようとしていて、本当に私を困惑させる奇妙なエラーに遭遇しています。私はそうのように(要素のタイプは、以下に示す)、浮動小数点数のリストのpd.Seriesを持っている:私が期待するようndarray to pd.Seriesのintのリスト

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)) 

すべての要素を非タイプに変換するだけです。しかし、これは個々の要素のために働くん:

test = y_hat[0].append(1.0) 

任意のアイデアを、私は)(series.applyに追加使用して反復処理することはできませんなぜですか?

+2

'append'メソッドは何も返しません。 'apply'メソッドの中だけではなく、次のようにしてください: ' foo = [1,2] bar = foo.append(3) 'そして' bar'を見てください – johnchase

+0

ああ、解明してくれてありがとう! – Brendan

+0

好奇心の高まりから、なぜあなたは* lists *の 'pd.Series'を使っていますか?なぜデータフレームでも、2次元のnumpy.ndarrayでもいいのですか? –

答えて

0

は、私はまだlist.appendが機能しなかった理由はわかりませんが、私は代わりに次の作品が見つかりました:

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