【问题标题】:Typerror in machine learning tutorial, numpy机器学习教程中的打字错误,numpy
【发布时间】:2017-05-12 00:46:03
【问题描述】:

这是给我带来问题的笔记本:https://github.com/justmarkham/scikit-learn-videos/blob/master/07_cross_validation.ipynb

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 不太熟悉。

【问题讨论】:

    标签: python numpy scikit-learn jupyter


    【解决方案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"中进行了解释

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-15
      • 1970-01-01
      • 2016-09-21
      • 2019-04-05
      • 1970-01-01
      相关资源
      最近更新 更多