从DataFrame的最后一行获取列表

时间:2017-09-14 14:24:28

标签: python python-3.x pandas dataframe

我的DataFrame看起来像这样:

[X]=fmincon(fhandle,X0,A,B,[],[],lb,ub);

从这个DataFrame中我想得到最后一行的值列表。

             28    91    182
Date                        
2017-09-07  0.97  1.05  1.15
2017-09-08  0.95  1.04  1.14
2017-09-11  0.96  1.06  1.16
2017-09-12  0.99  1.04  1.16
2017-09-13  0.99  1.04  1.16

我试图使用

[0.99, 1.04, 1.16]

返回

np.array(tbill.iloc[-1:].values).tolist()

但感觉过于复杂。

有更简单的方法吗?

3 个答案:

答案 0 :(得分:5)

只需切片底层数组。

df.values[-1].tolist()

产生

[0.99, 1.04, 1.16]

答案 1 :(得分:1)

或者只是:

df.iloc[-1].tolist()

示例:

df = pd.DataFrame(np.random.randn(10,3))

print(df.iloc[-1].tolist())
[-0.3000246004134489, -0.3626924316159151, 0.9523820239889618]
在这种情况下,@ miradulo的solution实际上会更快,我相信因为索引NumPy数组要比索引DataFrame快得多。

答案 2 :(得分:1)

有一个名为tail的函数,您可以向后访问行。

df.tail(1).values.tolist()   # get last row and its values

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.tail.html