Python连接两个数据帧,以查找在相应行中具有不同值的相同行值

Python连接两个数据帧,以查找在相应行中具有不同值的相同行值,python,pandas,dataframe,date,group-by,Python,Pandas,Dataframe,Date,Group By,我有以下格式的数据帧: #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, 1

我有以下格式的数据帧:

#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']})
我想加入他们,按他们的时间和日期订购 ie我需要知道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_值(['TS','date'])
?concat然后排序值:
pd.concat((m,f)).sort_值(['TS','date'])
?@jezerael按照你的要求做了,但我想要的是,具有相同TS编号和连续日期值的值需要一个接一个地来。我还尝试了result.groupby('TRAINSET').apply(lambda x:x.sort_值(['date']),但这并没有给我适当的结果well@DevarshiGoswami-hmmm,在实际数据中不起作用,因为203和203之间有时有空格,有时没有空格TC@jezerael按你的要求做了但我要的是这个,具有相同TS编号和连续日期值的值需要依次出现。我还尝试了result.groupby('TRAINSET').apply(lambda x:x.sort_值(['date']),但这并没有给我适当的结果well@DevarshiGoswami-hmmm,在实际数据中不工作,因为203和TC之间有时有空格,有时没有空格
result = pd.concat([f,m], ignore_index=True).sort_values(['TS','date'])
print (result)
    TS        date lbl
0  101  2012-01-18   f
3  101  2012-05-08   m
4  101  2013-01-26   m
1  102  2014-11-16   f
2  103  2016-08-20   f
5  104  2016-04-30   m