Pandas DataFrame获取所有列最后一个值的Pythonic实现方法
更Pythonic的实现方案
有两种简洁高效的实现方式,无需手动遍历列:
1. 直接用iloc取最后一行(最高效,推荐)
Pandas的行索引器iloc[-1]会直接返回所有列最后一行值组成的Series类型结果,转列表只需调用tolist()方法即可:
import pandas as pd import numpy as np df = pd.DataFrame(np.random.randn(10,5), columns = ['a','b','c','d','e']) # 得到Series格式结果 last_series = df.iloc[-1] # 转列表格式 last_list = df.iloc[-1].tolist()
该方法是Pandas原生优化的向量化操作,性能远高于手动遍历列,数据量越大优势越明显。
2. tail配合squeeze实现(可读性更高)
如果需要明确体现"取末尾行"的逻辑,可以用tail(1)取最后一行的DataFrame,再通过squeeze()将单行DataFrame压缩为Series:
last_series = df.tail(1).squeeze()
内容的提问来源于stack exchange,提问作者Anirban Nag 'tintinmj'
相关产品推荐
相关产品推荐

