【发布时间】:2018-07-15 03:31:09
【问题描述】:
我有一个DataFrame,其中包含三个如下所示的索引:
stat1 stat2
sample env run
sample1 0 0 36.214 71
1 31.808 71
2 28.376 71
3 20.585 71
sample2 0 0 2.059 29
1 2.070 29
2 2.038 29
这表示在不同数据样本上运行的过程。这个过程在不同的环境中运行多次,从而使结果合格。
这听起来很简单,但我在尝试将新环境结果添加为 DataFrame 时遇到了麻烦:
stat1 stat2
run
0 0.686 29
1 0.660 29
2 0.663 29
这应该在df.loc[["sample1", 1]] 下编入索引。我试过这个:
df.loc[["sample1", 1]] = result
并使用DataFrame.append。但是第一个只是提出了KeyError,而第二个似乎根本没有修改DataFrame。
我在这里错过了什么?
编辑:补充说,当使用append 像df.loc["sample"].append(result) 时,问题是它弄乱了多索引。转化为单个索引,将之前的多索引合并为一个元组,如(0, 0)或(0, 1)代表环境0、运行1等;并且附加的DataFrame(代表每次运行的范围索引)的索引成为新的不需要的索引。
【问题讨论】:
标签: python python-2.7 pandas