我有以下格式的数据框:
#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
有DataFrame.sort_values
:
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句