私はこの簡単な変数の設定を試しています:
In [94]: cc
Out[94]:
d0 d1
class sample
5 66 0.128320 0.970817
66 0.160488 0.969077
77 0.919263 0.008597
6 77 0.811914 0.123960
88 0.639887 0.262943
88 0.312303 0.660786
In [101]: bb
Out[101]:
d0 d1
class sample
2 22 0.730631 0.656266
33 0.871292 0.942768
3 44 0.081831 0.714360
55 0.600095 0.770108
In [102]: aa
Out[102]:
d0 d1
class sample
0 00 0.190409 0.789750
11 0.588001 0.250663
1 22 0.888343 0.428968
33 0.185525 0.450020
次のコマンドを実行できます
In [103]: aa.append(bb)
Out[103]:
d0 d1
class sample
0 00 0.190409 0.789750
11 0.588001 0.250663
1 22 0.888343 0.428968
33 0.185525 0.450020
2 22 0.730631 0.656266
33 0.871292 0.942768
3 44 0.081831 0.714360
55 0.600095 0.770108
同じ方法で次のコマンドを実行できないのはなぜですか?
aa.append(cc)
[次の例外が発生します]
ValueError: all arrays must be same length
アップデート:
列名を指定しなかった場合は正常に機能しますが、たとえば、4X4および8X4の名前が['d0'、'd0'、'd1'、'd1']の4つの列がある場合は、機能しなくなります。
これがエラーを再現するためのコードです
import pandas
y1 = [['0','0','1','1'],['00','11','22','33']]
y2 = [['2','2','3','3','4','4'],['44','55','66','77','88','99']]
x1 = np.random.rand(4,4)
x2 = np.random.rand(6,4)
cols = ['d1']*2 + ['d2']*2
names = ['class','idx']
aa = pandas.DataFrame(x1,index=y1,columns = cols)
aa.index.names = names
print aa
bb = pandas.DataFrame(x2,index=y2,columns = cols)
bb.index.names = names
print bb
aa.append(bb)
これを実行するにはどうすればよいですか?
ありがとう