首页 > 解决方案 > 我可以在单个数据框中有 2 个索引吗?

问题描述

我正在使用计算机模拟,我使用了很多从一个模拟到另一个模拟的变量。我必须运行简短但大量的模拟(如 1000+),因此跟踪这些很重要。

到目前为止,我只是添加了一个包含数据的新列。所以我的数据看起来像。

DataX, DataY, DataZ, variable1, variable2, variable3, ....

所以我基本上是为每个变量制作 1 列。

每次我需要获取新变量时,我都会将它们添加为新列。

无效,但至少所有内容都在同一个文件中,这非常方便。

我在实验室的实习即将结束,我的导师让我清理代码并制作它,以便任何人都可以继续使用它。

问题是,这些变量中的每一个还有另外 2 个子变量。

所以我创建了一个新函数来收集所有这些变量并制作一个整洁的小数据框,看起来像这样

Parameter    Value    Lambda    Mod
temperature  10       1         0
VarE         1.5      5         0.5

ETC

为了使其易于访问,我还将 Parameter 作为索引,因此我可以使用 df_param.loc['VarE','Value'] 例如

但是正因为如此,它们并不都在同一个文件中。这不方便。由于他们在绘图时必须使用超过 1000 个以上的数据文件,并且必须过滤所有内容,因此将参数与数据分开可能会导致错误(这是不可能的 atm,因为所有内容都在同一个文件中)。

如果我将“参数”转换回一列,我可以轻松做到这一点

索引 DataX、DataY、DataZ、参数、值、Lambda、Mod

我遇到的问题(主要从实际的角度来看)是,由于参数不再是索引,我不能再做 df_param.loc['VarE','Value'] 了。我需要确切地知道索引“VarE”是什么,然后执行 df.param.loc['index','value'] 并且有超过 15 个参数可供选择,这有点粗略。

基本上,有没有办法拥有 2 个索引?像 DataX、DataY、DataZ 的一个索引(我们称之为“dt”)和一个用于 Value Lambda 和 Mod 的索引,即“参数”

所以基本上两个 df 合而为一。

先感谢您

标签: pythondataframe

解决方案


推荐阅读