gpt4 book ai didi

python - 如何将行插入数据帧,同时保留行索引的数字顺序?

转载 作者:太空宇宙 更新时间:2023-11-03 18:36:16 25 4
gpt4 key购买 nike

我正在使用每 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 之间?

谢谢!

最佳答案

在向数据框添加所有内容后添加 df.sort(inplace=True)

演示:

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
df.loc[3, 'events'] = 'kowabunga!'
df.loc[5, 'events'] = 'kowabunga2!'
df.loc[1, 'events'] = 'kowabunga3!'
df.sort(inplace=True)
print df

输出:

    x   y       events
1 NaN NaN kowabunga3!
2 2 2
3 NaN NaN kowabunga!
4 4 4
5 NaN NaN kowabunga2!
6 6 6
8 8 8

[7 rows x 3 columns]

关于python - 如何将行插入数据帧,同时保留行索引的数字顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21533042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com