我试图得到一个结果,每个'名字'与所有最新的数据,除非列是空的。在R中,我会使用groupuby,按时间戳排序,并为每一列选择最新的值。我试着在这里这样做,但我很困惑。有人能解释一下用Python怎么做吗?在下面的例子中,我的目标是:
col2 date name
1 4 2018-03-27 15:55:29 bil #latest timestamp with the latest non-blank col4 value
以下是我目前的代码:
d = {'name':['bil','bil','bil'],'date': ['2018-02-27 14:55:29', '2018-03-27 15:55:29', '2018-02-28 19:55:29'], 'col2': [3,'', 4]}
df2 = pd.DataFrame(data=d)
print(df2)
grouped = df2.groupby(['name']).sum().reset_index()
print(grouped)
sortedvals=grouped.sort_values(['date'], ascending=False)
print(sortedvals)
有一种方法:
但是,您提供的数据帧和您想要的输出似乎不一致
相关问题 更多 >
编程相关推荐