【发布时间】:2019-12-06 11:42:03
【问题描述】:
我有一个这样的数据框:
df = pd.DataFrame({'id':[3333311,3455572,6464544,2323322,2222111,4333311,5454566,3321767],'A':['12 days','35 days','36 days','56 days','54 days','44 days','56 days','54 days'],'B':['6 days','31 days','33 days','46 days','44 days','16 days','41 days','42 days'],'Percentage':[0.41,0.36,0.36,0.42,0.25,0.56,0.25,0.42]})
id A B Percentage
1 3333311 12 days 6 days 0.41
3953 3455572 35 days 31 days 0.36
46458 6464544 36 days 33 days 0.36
39378 2323322 56 days 46 days 0.42
115880 2222111 54 days 44 days 0.25
115882 4333311 44 days 16 days 0.56
118882 5454566 56 days 41 days 0.25
118884 3321767 54 days 42 days 0.42
我想先按百分比对其进行排序。
那么当一个决胜局来时,它应该同时对A和B进行排序
if A.iloc[1] < A.iloc[2]
and B.iloc[1] < B.iloc[2]
then df.iloc[2] should come first and vice versa.
But if A.iloc[1] < A.iloc[2]
and B.iloc[1] > A.iloc[2]
or if A.iloc[1] > A.iloc[2]
and B.iloc[1] < A.iloc[2]
预期的输出将是这样的:
id A B Percentage
115882 4333311 44 days 16 days 0.56
39378 2323322 56 days 46 days 0.42
118884 3321767 54 days 42 days 0.42
1 3333311 12 days 6 days 0.41
46458 6464544 36 days 33 days 0.36
3953 3455572 35 days 31 days 0.36
118882 5454566 56 days 41 days 0.25
115880 2222111 54 days 44 days 0.25
现在在 0.25% 的决胜局中,有以下条件: 如果 A.iloc[118882] > A.iloc[115880] 和 B.iloc[118882]
这里我们将执行其他操作并考虑其他聚合。
我们可以通过带 cmp 参数的 sorted 函数来做到吗?
【问题讨论】:
-
请显示预期输出
-
@DeepSpace 我已经编辑了我的查询。现在你可以检查了。
标签: python pandas sorting dataframe