我的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()
但感觉过于复杂。
有更简单的方法吗?
答案 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