【发布时间】:2020-05-12 13:07:49
【问题描述】:
我有以下格式的数据框:
#join two dataframes to find same row values having different values in corresponding rows
f = pd.DataFrame({'TS': [101, 102,103], 'date': ['2012-01-18','2014-11-16','2016-08-20'] , 'lbl': ['f', 'f', 'f']})
m = pd.DataFrame({'TS': [101, 101,104], 'date': ['2012-05-08','2013-01-26','2016-04-30'] , 'lbl': ['m', 'm', 'm']})
我想加入他们并按他们的 TS 和日期排序 即我需要知道哪个 TS 出现在另一个之后:
操作后的最终df如下所示:
TS date lbl
101 2012-01-08 f
101 2013-05-08 m
101 2013-01-26 m
102 2014-11-16 f
103 2016-08-20 f
104 2016-04-30 m
我试过了
result2=result.sort_values(['TS','date'],ascending=[True,True])
但是这给了我适当的结果,我想要相同的 TS 值和不同的日期值。我使用 groupby 吗?
【问题讨论】:
-
concat 然后对值进行排序:
pd.concat((m,f)).sort_values(['TS','date'])?
标签: python pandas dataframe date group-by