如何在pandas中获取DataFrame每列的最后一个非空值
你可以使用pandas内置的last_valid_index()方法快速实现需求,完整操作流程如下:
步骤1:构造示例DataFrame(如果已经有数据可跳过这一步)
import pandas as pd import numpy as np df = pd.DataFrame({ 'a_1': ['Apple', 'Grapes', 'Melon', 'Peach'], 'a_2': ['Nuts', 'Kiwi', 'Lime', ''], 'a_3': ['Plum', 'Apple', '', ''], 'a_4': ['Cucumber', '', '', ''] })
步骤2:替换空值+提取每列最后一个非空值
# 将空字符串替换为NaN,方便pandas识别空值 df = df.replace('', np.nan) # 遍历每列取最后一个非空值 result = [df[col].loc[df[col].last_valid_index()] for col in df.columns]
输出结果
打印result即可得到预期输出:
['Peach', 'Lime', 'Apple', 'Cucumber']
内容的提问来源于stack exchange,提问作者Anirban Nag 'tintinmj'
相关产品推荐
相关产品推荐

