You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从pandas DataFrame中筛选数据,得到最新年份及该行最后一个非零值

你可以通过同时获取逆序遍历时的列名与对应值,再构造Pandas Series实现目标输出,示例代码如下:

import pandas as pd

# 取最后一行数据
last_row = df.iloc[-1]
target_col = ""
target_val = 0

# 逆序遍历行的列名与值,找到第一个非0值
for col, val in reversed(last_row.items()):
    # 若你原始数据中的0是字符串格式'0.00',将下方判断条件改为 val == '0.00' 即可
    if val == 0.00:
        continue
    target_col = col
    target_val = val
    break

# 构造符合要求的Series,name参数对应原始行的索引值,需要object类型可添加dtype="object"参数
res_series = pd.Series(
    data=[last_row["Tahun"], target_val],
    index=["Tahun", target_col],
    name=last_row.name,
    dtype="object"
)

# 直接打印即可得到你要的格式
print(res_series)

运行上述代码后输出结果和你期望的格式完全一致。

内容的提问来源于stack exchange,提问作者ohai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:09:04