0

背景:
我有一个weather_tweets包含两列感兴趣的数据框(''),weather(火星上的天气)和date(天气相关的日期)。结构如下:
在此处输入图像描述

目标:
我正在尝试编写代码来确定最新的日期戳(date列)并打印该行的相应weather列值。

示例行:
这是一个示例行:

weather_tweets = [
    ('tweet', 'weather', 'date'),
    ('Mars Weather@MarsWxReport·Jul 15InSight sol 58', 'InSight sol 580 (2020-07-14) low -88.8ºC (-127.8ºF) high -8.4ºC (16.8ºF) winds from the WNW at 5.9 m/s (13.3 mph) gusting to 15.4 m/s (34.4 mph) pressure at 7.80 hPa, '2020-07-14')]

我的代码:
到目前为止,我只能制定一些杂乱无章的代码来按顺序返回最新日期,但这对我的预期结果毫无用处:

latest_weather = weather_tweets.groupby(['tweet', 'weather'])['date'].transform(max) == weather_tweets['date']

print(weather_tweets[latest_weather])

任何关于如何达到预期结果的建议将不胜感激。

4

1 回答 1

0

尝试:

weather_tweets[weather_tweets.date == weather_tweets.date.max()].weather

您可以to_frame()在最后添加以获得更优雅的数据框结果:

weather_tweets[weather_tweets.date == weather_tweets.date.max()].weather.to_frame()

或创建新的数据框:

df_latest = weather_tweets.loc[weather_tweets.date == weather_tweets.date.max(),['weather','date']]
df_max.columns = ['latest_weather','latest_date']
于 2020-07-18T16:22:10.080 回答