【发布时间】:2021-08-24 17:29:03
【问题描述】:
我有一个包含几行和几列数据的 csv 文件。现在,如果输入值在 csv 中不匹配,我打算推断或插入新数据。
让我如下描述我的 csv。
type,depth,io,mux,enr
perf,1024,32,4,103.8175
perf,1024,64,4,85.643125
perf,1024,128,4,76.5559375
perf,1024,256,4,72.01246094
dense,1024,32,4,107.391875
dense,1024,64,4,88.99640625
dense,1024,128,4,79.79851563
dense,1024,256,4,75.19976563
如果输入与 csv 中存在的深度或 io 值不匹配。我想在外推/插值后生成输出。
为此,我需要从列构建一个数组。
是否有存储此 csv 中的一列或将 csv 存储为列表并从那里存储?
我尝试了以下方法。
import os
import pandas as pd
this_dir, this_filename = os.path.split(__file__)
memory_file_path = os.path.join(this_dir, 'memory.csv')
memData = pd.read_csv(memory_file_path, delimiter= ',',)
class InvecasMem:
def csvImport(self,depth,io):
csvmem = memData.loc[(memData["type"] == "perf")
& (memData['depth'] == depth)
& (memData['io'] == io)]
if len(csvmem) == 0:
print("Error: Wrong configuration")
memArr = memData.loc[(memData["type"] == "perf")]
l = [list(row) for row in memArr.values]
x=len(l)
return l
但是,我无法将列存储到数组中?
另外,在这种情况下,是否可以从多个输入中产生外推值?
提前致谢。
编辑:io = [32,64,128,256,32,64,128,256] 中的所需输出 而我要计算深度 = 512 和 io = 256
【问题讨论】:
-
是的,可以推断。您可以拟合回归量,例如使用
sklearn. -
你能发布想要的输出吗?
-
对于插值,
scipy可以完成这项工作