我想創建一個二維串列,其中一些串列重復盡可能多的輸入。我嘗試了以下代碼:
input_exp = 3
experiments = list()
experiments.append(('Experiments', 'Split', 'Batch', 'Training Time'*input_exp, 'Testing Time', 'Loss', 'Accuracy', 'Mean Accuracy'))
df = pd.DataFrame(experiments)
writer = pd.ExcelWriter('Resume.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='resume', index=False)
writer.save()
input_exp是我要做的實驗數量。所以,如果我要實驗兩次,那么我會輸入input_exp= 2. 但是當我把結果放入excel后,它看起來是這樣的:

這是我想要實作的目標:

uj5u.com熱心網友回復:
如果你想要每個字串一個串列元素,那么你需要extend,而不是append:
input_exp = 3
exp.extend(['Experiments', 'Split', 'Batch'] (['Training Time']*input_exp) ['Testing Time', 'Loss', Accuracy', 'Mean Accuracy'])
uj5u.com熱心網友回復:
這是否符合您正在尋找的解決方案。
input_exp = 3
exp = []
exp.extend(['Experiments', 'Split', 'Batch', 'Testing Time', 'Loss', 'Accuracy', 'Mean Accuracy', ['Training Time' for i in range(input_exp)]])
輸出 :-
['Experiments', 'Split', 'Batch', 'Testing Time', 'Loss', 'Accuracy', 'Mean Accuracy', ['Training Time', 'Training Time', 'Training Time']]
uj5u.com熱心網友回復:
嘗試分幾個部分構建串列,使用 python 的[foo]*N習慣用法生成一個 N 串列foo:
input_exp = 3
exp.append(['Experiments', 'Split', 'Batch'] ['Training Time']*input_exp ['Testing Time', 'Loss', 'Accuracy', 'Mean Accuracy'])
假設您的原件exp包含['foo', 'bar']結果將是
['foo',
'bar',
['Experiments',
'Split',
'Batch',
'Training Time',
'Training Time',
'Training Time',
'Testing Time',
'Loss',
'Accuracy',
'Mean Accuracy']]
如果您不想使用嵌套的 list-inside-of-listextend代替 append:
exp = ['foo', 'bar']
exp.extend(['Experiments', 'Split', 'Batch'] ['Training Time']*input_exp ['Testing Time', 'Loss', 'Accuracy', 'Mean Accuracy'])
這導致
['foo',
'bar',
'Experiments',
'Split',
'Batch',
'Training Time',
'Training Time',
'Training Time',
'Testing Time',
'Loss',
'Accuracy',
'Mean Accuracy']
uj5u.com熱心網友回復:
作為替代方案,您可以根據chain需要將盡可能多的串列粘合在一起。
from itertools import chain
input_exp = 3
pre_training = ['Experiments', 'Split', 'Batch']
post_training = ['Testing Time', 'Loss', 'Accuracy', 'Mean Accuracy']
run = list(chain(pre_training, ['Training Time'] * input_exp, post_training))
輸出:
>>> run
['Experiments', 'Split', 'Batch', 'Training Time', 'Training Time', 'Training Time', 'Testing Time', 'Loss', 'Accuracy', 'Mean Accuracy']
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/378055.html
