繁体   English   中英

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

[英]Pandas dataframe, extract consecutive rows of a column to a list

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

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

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

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

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

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

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

有任何想法吗? 谢谢 ! 巴卡

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

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

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

要么

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

你可以这样做:

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

输出:

[5, 6, 7]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM