我有一个数据框如下:
date weight
10/30/2018
05/25/2018 80
09/05/2018 74.6
09/05/2018 74.8
07/08/2018 25
如何检索最近日期的体重?
场景如下:
- 如果最近日期没有权重,则应考虑下一个最近日期的权重。
- 如果最近的日期在数据框中多次出现,则应考虑最大权重。
(或相对于日期第一次出现的权重是可以的......即,得到
74.6
而 74.8
也可以。)
最佳答案
将值转换为日期时间,按日期
按 Series.sort_values
排序,前向填充可能的缺失值并最后得到weight
的乳值:
df['date'] = pd.to_datetime(df['date'])
df = df.sort_values('date')
df['weight'] = df['weight'].ffill()
print (df)
date weight
1 2018-05-25 80.0
4 2018-07-08 25.0
2 2018-09-05 74.6
3 2018-09-05 74.8
0 2018-10-30 74.8
a = df.iloc[-1, df.columns.get_loc('weight')]
#alternative
#a = df['weight'].values[-1]
print (a)
74.8
关于python - 如何从 Dataframe 中检索具有最近日期的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58763613/