【发布时间】:2014-02-27 06:35:22
【问题描述】:
我正在使用来自每 2 毫秒采样一次的机器的数据帧,因此我的所有行索引都已重新索引到机器的时间戳。某些 TTL 事件可以以毫秒精度在任何时间间隔发生,因此 TTL 可能会在奇数毫秒发生。
为了模拟这一点,我创建了以下 DataFrame:
import pandas as pd
df = pd.DataFrame({'x': xrange(10), 'y': xrange(10)})
df = df.ix[2::2] # now we only have "time sample" every 2 ms
df['events'] = '' # add a TTL channel
DataFrame 现在看起来像这样:
x y events
2 2 2 NaN
4 4 4 NaN
6 6 6 NaN
8 8 8 NaN
[4 rows x 3 columns]
现在我想插入一个奇数索引的 ttl,所以我使用DataFrame.loc:
df.loc[3, 'events'] = 'kowabunga!'
我得到以下信息:
x y events
2 2 2 NaN
4 4 4 NaN
6 6 6 NaN
8 8 8 NaN
3 NaN NaN kowabunga!
[5 rows x 3 columns]
问题是我的索引的数字顺序(它是时间戳的两倍)没有被保留。我如何才能真正插入“kowabunga”行,使其位于索引 2 和 4 之间?
谢谢!
【问题讨论】: