2015-10-05 4 views
6

以下のコード作品numpyの1.7.1を使用して示されるように結果を生成して、アレイ軸にサイズ5ととValueError:numpyの1.9.2同じ入力において、寸法2

import pandas as pd 
import numpy as np 
d1 = pd.DataFrame({'Name': [1, 1, 1, 1, 1],'number': [1, 1, 1, 1, 1]}) 
d2 = pd.DataFrame({'Name': [1, 1, 1, 1, 1], 'number': [1, 1, 1, 1, 1]}) 
result = np.array([d1,d2]) 

Value of result is, 
array([ Name number 
0  1  1 
1  1  1 
2  1  1 
3  1  1 
4  1  1, 
      Name number 
0  1  1 
1  1  1 
2  1  1 
3  1  1 
4  1  1], dtype=object) 

の配列をコピーすることはできませんが

この操作あるいはその両方で使用することができ、いくつかの一般的な修正をサポートしていないnumpyの理由を知っている必要があります:以下のように、

「次元2でアレイ軸にサイズ5でシーケンスをコピーすることはできませんとValueErrorが」例外を生成しますバージョン。私はnumpyの両方のバージョンで1.7.1と同じ出力をしたい。

答えて

5

numpy 1.9.2で問題を再現できました。 numpyがvstackをやろうとしているようだ。形状が同じ場合。私は以下のアプローチを試してみました。

result = np.empty(2, dtype=object) 
result[:]= [d1, d2] 

result 
array([ Name number 
0  1  1 
1  1  1 
2  1  1 
3  1  1 
4  1  1, 
      Name number 
0  1  1 
1  1  1 
2  1  1 
3  1  1 
4  1  1], dtype=object) 
関連する問題