python - 如何在整个数据框中的每一列中找到最后一个非零元素?

标签 python pandas dataframe

如何在数据帧的每一列中找到最后出现的非零元素?

输入

    A  B
0   0  1
1   0  2
2   9  0
3  10  0
4   0  0
5   0  0

输出

    A  B
0  10  2

最佳答案

您可以将 0 转换为缺失值,使用前向填充并通过索引选择最后一行,最后转换为整数:

df = df.mask(df==0).ffill().iloc[[-1]].astype(int)
print (df)
    A  B
5  10  2

关于python - 如何在整个数据框中的每一列中找到最后一个非零元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56666271/

相关文章:

python - 根据另一列的排序,使用 pandas GroupBy 连接字符串

python - 在Python中比较两个数据帧值

python - Pandas DataFrame 应用() ValueError : too many values to unpack (expected 2)

Python Pygame 力量

python - 从 numpy 中高斯正态多元分布的某些概率中得出

python - 如何枚举 Pandas 组内的组

sql - 如何将带有日期(字符串)的列转换为仅在pyspark中的日期

python - 如何从 Pandas 数据框中删除重复行但仅在某个范围内?

python - 无法找到或加载 Qt 平台插件 "xcb"

python - 只解析 XML 文件的特定子树