【发布时间】:2016-03-25 16:23:03
【问题描述】:
目的是合并四个列表result、trainAcc、crossAcc 和testAcc,每个列的长度相同,并将生成的矩阵与必要的标题一起存储为 CSV 文件。
以下是我执行此操作的工作代码。
acc = np.concatenate((np.array(result,ndmin=2).T,
np.array(trainAcc, ndmin=2).T,
np.array(crossAcc, ndmin=2).T,
np.array(testAcc, ndmin=2).T), axis=1)
acc = np.concatenate((np.array(["Classifier","Train Accuracy", "CV Accuracy", "Test Accuracy"], ndmin=2), acc), axis=0)
with open("bestClassifier.csv", 'wb') as f:
csv.writer(f).writerows(acc)
如您所见,对于如此简单的任务,代码并没有那么美观。所有列表都必须转换为二维数组并转置才能按列合并。
有没有更简单的方法可以使用或不使用 NumPy 来完成这项任务?
【问题讨论】:
-
也许使用
pandas会有所帮助? -
@DainDwarf:感谢您的建议。如果您发布一个工作示例,它会更有帮助。
-
您似乎在寻找 Python 的 zip 函数?
-
@JacquesdeHooge:
zip函数?这是我第一次听说 Python 中有这样的功能。你能扩展一下吗? -
我已经编辑了我的答案,希望您使用
writerow()方法而不是连接不同性质的数组...
标签: python numpy concatenation simplify