Pandas数据帧,将列的连续行提取到列表中

时间:2017-03-12 08:55:34

标签: python pandas dataframe slice

我有,似乎是一个简单的问题,但我找不到答案......

假设有一个pandas数据帧,例如:

df = pd.DataFrame({"a": [1,2,3,4,5], "b": [4,5,6,7,8]})

b列中,我想提取一个列表,其中包含从最后一行开始n行的x个连续行的值。

假设n=3x=1,我想得到:

list = [7,6,5] or list = [5, 6, 7]

我无法弄清楚如何切割相关的数据帧段来实现这一目标。

有什么想法吗? 谢谢 ! 巴卡

3 个答案:

答案 0 :(得分:0)

your_list = list(df['b'][-x-1:-x-n-1:-1])

答案 1 :(得分:0)

我认为在你的情况下你可以使用

前进方向list(df['b'][x:(x+n)]) ==>> [5,6,7]

向后方向list(df['b'][-(x)-1:-(x+n)-1:-1]) ==> [7,6,5]

答案 2 :(得分:0)

你可以这样做:

// for older browser use [].slice.call(....).forEach
Array.from(document.querySelectorAll('.colorbox')).forEach(function(ele){
 // do the rest here
})

输出:

n = -4
x = -1
lst = df.b.iloc[n:x].tolist()
print(lst)