【发布时间】:2020-10-02 14:01:44
【问题描述】:
考虑到我有关注 df。
first_primary='N8910-011B0BB'
dct = {'Store':('19387','19387','19387','19387','19387'),
'SELF-NBR':('INC1539641','INC1514967','INC1518545','INC1518666','INC1514983'),
'PARTS_NEW':('N8910-011B0BB','N8910-011B0BB','Q24-FR128043','Q24-FR128043','Q24-FR128042'),
'date_diff':(1,7,1,1,0),
'PLACEDAY' :('2020-05-11 18:58:35','2020-05-18 05:25:39','2020-05-12 04:42:29','2020-05-12 02:22:22','2020-05-11 15:20:32')
}
df = pd.DataFrame(dct)
df['PLACEDAY']= pd.to_datetime(df['PLACEDAY'])
print(df)
Store SELF-NBR PARTS_NEW date_diff PLACEDAY
0 19387 INC1539641 N8910-011B0BB 1 2020-05-11 18:58:35
1 19387 INC1514967 N8910-011B0BB 7 2020-05-18 05:25:39
2 19387 INC1518545 Q24-FR128043 1 2020-05-12 04:42:29
3 19387 INC1518666 Q24-FR128043 1 2020-05-12 02:22:22
4 19387 INC1514983 Q24-FR128042 0 2020-05-11 15:20:32
上面的数据框df 是从 for 循环中获得的,并且因每个唯一的 store_id 而异。
这里的数据是 store = 19387,first_primary 也因每个商店而异,但将由 first_primary 标识,如代码中所述
我只想对df 进行条件排序,前提是first_primary 重复多次,
按PLACEDAY 对数据框进行排序(降序),确保first_primary 始终位于顶部。
预期的数据框
Store SELF-NBR PARTS_NEW date_diff PLACEDAY
0 19387 INC1514967 N8910-011B0BB 7 2020-05-18 05:25:39
1 19387 INC1539641 N8910-011B0BB 1 2020-05-11 18:58:35
2 19387 INC1518545 Q24-FR128043 1 2020-05-12 04:42:29
3 19387 INC1518666 Q24-FR128043 1 2020-05-12 02:22:22
4 19387 INC1514983 Q24-FR128042 0 2020-05-11 15:20:32
总结:
-
如果
PARTS_NEW、first_primary中重复的first_primary带有最新的时间戳,则应在顶部,并带有相应的列('SELF-NBR'、'PARTS_NEW' 等。) -
如果
PARTS_NEW中的first_primary只计算一次,确保first_primary是 如果df在顶部
如果需要更多查询,请告诉我。
【问题讨论】:
标签: python pandas dataframe pandas-groupby