gpt4 book ai didi

python - 如何将答案存储到 numpy 数组中并使用它来创建 Excel 工作表?

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:25 25 4
gpt4 key购买 nike

我有一个程序,其中包含两个函数:test()outputEval() 以及一个主函数。 test() 函数包含 3 个列表值,我只是返回它们。 outputEval() 函数从测试函数获取返回值并将它们存储到 numpy 数组中,我使用该数组创建数据框来创建 Excel 工作表。我的代码:

import numpy as np
import pandas as pd
def test():
list1 = [1, 21, 12, 24, 54, 6]
list2 = [65, 65, 3, 2, 5, 8]
list3 = [65, 78, 87, 5, 2, 3]
modelInput = {
'list1': list1, 'list2': list2, 'list3': list3
}
return modelInput

def outputEval(modelInput):
solArray = np.zeros(3)
for i in range(0, solArray.shape[0]):
solArray[i][0] = pd.Series(modelInput['list1'])
solArray[i][1] = pd.Series(modelInput['list2'])
solArray[i][2] = pd.Series(modelInput['list3'])

df=pd.DataFrame(solArray, columns=['list1', 'list2', 'list3'])
df.to_excel('testingfile.xlsx')
def main():
testing = test()
run = outputEval(testing)

main()

运行后出现的错误

TypeError: 'numpy.float64' object does not support item assignment

期望的输出

list1  list2  list3
1 65 65
21 65 78
12 3 87
24 2 5
54 5 2
6 8 3

最佳答案

您不需要 for 循环

您可以使用:

def outputEval(modelInput):
df=pd.DataFrame(modelInput, columns=['list1', 'list2', 'list3'])
df.to_excel('testingfile.xlsx')
#update...
sol = df.to_numpy()
print(sol)

如果您不需要 index 列,请使用 df.to_excel('testingfile.xlsx', index=False)

更新1

def outputEval(modelInput):
sol = np.c_[list(modelInput.values())].T
df=pd.DataFrame(sol, columns=['list1', 'list2', 'list3'])
df.to_excel('testingfile.xlsx', index=False)

更新2使用来自itertools导入链的

    modelInput = list(chain(modelInput1.values(), modelInput2.values()))
print(modelInput)
sol = np.c_[list(modelInput)].T

更新3

sol = np.r_[np.r_[list(modelInput1.values())].T, np.r_[list(modelInput2.values())].T]    

关于python - 如何将答案存储到 numpy 数组中并使用它来创建 Excel 工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59748220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com