2016-08-01 139 views
-2

我的Python数据帧的内容是这样的:在Python,怎么办GROUPBY,该组中的元素进行排序,然后输出写入到文件

ID  [enter image description here][1] ROLE  DOB 

E548621  MANAGER  1980-12-31 
E548622  Dy MANAGER 1983-06-01 
E548623  MANAGER  1978-01-05 
E548624  SSE   1988-12-31 
E548625  MANAGER  1983-05-11 
E548626  Dy MANAGER 1985-10-25 
E548627  SSE   1987-10-20 
E548628  MANAGER  1981-04-02 
E548629  Dy MANAGER 1986-09-10 
E548630  SSE   1989-02-15 

我的目标是小组按角色。在每个组中,使用DOB对记录进行排序,这样的老年人会比年轻人更先出现在列表中。分组和排序后,我想将输出写入文件。 我必须生成看起来像这样的输出文件。

ROLE  LIST 

MANAGER  [E548623 1978-01-05, E548621 1980-12-31, E548628 1981-04-02,  E548625 1983-05-11] 

Dy MANAGER [E548622 1983-06-01, E548626 1985-10-25, E548629 1986-09-10] 
SSE   [E548627 1987-10-20, E548624 1988-12-31, E548630 1989-02-15] 

请帮我这么做。非常感谢您

+0

Python没有“数据帧“;也许你正在使用一些库或框架? –

+3

我投票结束这个问题作为题外话,因为这不是一个代码写作服务。 –

+0

如果你的数据是在一个文件中,这一行就会为你排序sort -k3 -k2 a.txt – Marichyasana

回答

0

我想下面的查询会做得很好,如果不做指正

query_obj = db.session.query(Table_name).group_by(Table_name.ROLE).order_by(desc(Table_name.DOB)) 

然后在query_obj运行一个for循环来检索值一行