沿着pandas数据帧中的列进行高效的跨步切片

时间:2014-07-11 01:57:27

标签: python numpy pandas indexing slice

在pandas数据帧列中,我希望(有效地)在给定的增量偏移处按片选择行。例如,

import numpy as np
import pandas as pd

k = pd.DataFrame(np.arange(9))

# Here I can only select 1 element per stride. Would like to select n elements
a = k[0::3]
b = k[1::3]

# Here a copy is made. Would prefer a view of the above.
b.combine_first(a)
Out[11]: 
   0
0  0
1  1
3  3
4  4
6  6
7  7

是否有一种有效的方法从增量偏移的列中选择切片?感谢。

1 个答案:

答案 0 :(得分:0)

在纯大熊猫中,在这种情况下,您可以使用k.groupby((k.index / 2) % 2)。发送给groupy的数据帧将按照您的建议进行调整。如果您只想要数据框k[(k.index / 2) % 2 == 0]。或者你正在使用的方法很好。