假设DataFrame为df,列按日期排序:
import pandas as pd
import numpy as np
# 创建一个示例DataFrame
df = pd.DataFrame({
'date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04',
'2022-01-05', '2022-01-06'],
'col1': [1, 2, np.nan, 4, 5, 6],
'col2': [10, 20, 30, np.nan, np.nan, 60],
'col3': [100, 200, 300, 400, np.nan, 600]
})
# 转换日期列为datetime类型
df['date'] = pd.to_datetime(df['date'])
# 按日期排序
df = df.sort_values('date')
# 将NaN替换为前值
df = df.fillna(method='ffill')
# 获取每列最后一个非空值
last_non_null = df.iloc[-1, 1:]
结果为最后一行各列的最后一个非空值。