我想在所有变量中获取最新的非空值。例如,在这个数据集中,我们有 3 个服务日期。
import pandas as pd
df =pd.DataFrame( {'PatientID': [1, 1, 1],
'Date': ['01/01/2018', '01/15/2018','01/20/2018'],
'Height': ['Null', '178', 'Null'],
'Weight': ['Null', '182', '190'],
'O2 Level': ['95', '99', '92'],
'BPS': ['120', 'Null', 'Null'],
'DPS': ['80', 'Null', 'Null']})
Run Code Online (Sandbox Code Playgroud)
作为输出,我需要这样的东西:
df = pd.DataFrame( {'PatientID': [1],
'Height': ['178'],
'Weight': ['190'],
'O2 Level': ['92'],
'BPS': ['120'],
'DPS': ['80']})
Run Code Online (Sandbox Code Playgroud)

我的原始数据集有数千名患者和 100 多个协变量。目前我正在使用三重循环来完成这项任务,效率非常低。我正在寻找更有效的解决方案。