正如问题所提到的,我有一个pandas(v0.18.0)数据帧,它由几列1D数据(模拟光谱)组成。在
示例数据集如下所示:
Photon Energy (eV), Spin_Up (a.u.), Spin_Down (a.u.), Difference
1.520040, 0.000000, 0.00000, 0.000000
1.520515, 0.000000, 0.00000, 0.000000
1.520990, 0.000000, 0.00000, 0.000000
1.521465, 9.742188, 0.00000, 9.742188
1.521940, 35.432140, 24.41665, 11.015490
1.522415, 69.708160, 99.48898, -29.780820
1.522890, 140.897400, 198.71710, -57.819700
1.523365, 369.593200, 401.61710, -32.023900
1.523840, 1688.481000, 1034.93300, 653.548000
1.524315, 1822.535000, 4645.04600, -2822.511000
1.524790, 1284.102000, 5457.34800, -4173.246000
数据直接从CSV(pd.read_csv('sample.csv', index_col='Photon Energy (eV)')
)导入,三个导入的列是一个索引行(具有六个十进制精度的光子能量)和两个电子总体(整数值)。在
现在,我想将索引列移动大约2.5meV(相当于200行)。在
我用以下方法得出了最大值:
^{pr2}$然后尝试使用df.shift(periods=shift_amt)
进行移位(我意识到shift_amt
上的int()
是不必要的,只是试图覆盖所有的基础)。这似乎没有效果(索引列被取消移动)。尝试对shift()
函数内的freq
应用一个值没有任何区别。当我使用df.index.shift()
尝试相同的操作时,我得到了一个错误NotImplementedError: Not supported for type Float64Index
。我假设这意味着我所要做的是不可能的,我应该回到使用一个简单的整数索引列。但是,在我放弃之前,我想知道我在这个过程中是否遗漏了什么。在
您可以这样更改索引值:
相关问题 更多 >
编程相关推荐