2017-05-12 8 views
3

は、これは私の問題を与えているノートブックです:https://github.com/justmarkham/scikit-learn-videos/blob/master/07_cross_validation.ipynbTyperror、numpyの

from sklearn.cross_validation import KFold 
kf = KFold(25, n_folds=5, shuffle=False) 

# print the contents of each training and testing set 
print('{} {:^61} {}'.format('Iteration', 'Training set observations',    
'Testing set observations')) 
for iteration, data in enumerate(kf, start=1): 
    print('{:^9} {} {:^25}'.format(iteration, data[0], data[1])) 

これは私が取得エラーです:

TypeError: unsupported format string passed to numpy.ndarray.__format__ 

どこに私は本当に知りません私がnumpyに精通していないので、開始します。

答えて

1

それはそれだけで、明示的な文字列変換を欠けているようだ:

from sklearn.cross_validation import KFold 
kf = KFold(25, n_folds=5, shuffle=False) 

# print the contents of each training and testing set 
print('{} {:^61} {}'.format('Iteration', 
          'Training set observations', 
          'Testing set observations')) 
for iteration, data in enumerate(kf, start=1): 
    print('{:^9} {} {:^25}'.format(iteration, data[0], str(data[1]))) 

か:

print('{:^9} {} {!s:^25}'.format(iteration, data[0], data[1])) 

!s文字列に変換するだけで、別の方法です。

一般に、書式設定ミニ言語は、"Format Specification Mini-Language"

で説明されています