2015-10-05 14 views
6

aşağıdaki kod çalışmaları numpy 1.7.1 kullanarak ve gösterildiği gibi sonuç üretir ile dizi eksenine büyüklüğü 5 ileValueError: Numpy 1.9.2 aynı giriş olarak, boyut 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) 

dizisini kopyalamak Ancak olamaz aşağıdaki gibi istisna,

üretir "ValueError: boyutunda 2 ile dizi eksenine büyüklüğü 5 ile diziyi kopyalayamazsınız"

bu işlemi ya da her ikisi de kullanılabilir bazı jenerik düzeltme desteklemeyen numpy sebebini bilmek gerekiyor sürüm. Her iki versiyonunda da 1.7.1'e girdiğim kadar aynı çıktıyı istiyorum.

cevap

5

Sayfanız 1.9.2 ile sorununuzu yeniden üretebildim. Bu numpy bir vstack yapmaya çalışıyor gibi görünüyor. şekil aynı olduğunda. Aşağıdaki yaklaşımı denedim ve işe yaradı.

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) 
İlgili konular