Pandas 打印输出

Pandas 打印输出,pandas,dataframe,Pandas,Dataframe,如何按“Sex”列交替F,M对该数据帧进行排序 Name Sex Age Height Weight 0 Alfred M 14 69.0 112.5 1 Alice F 13 56.5 84.0 2 Barbara F 13 65.3 98.0 3 Carol F 14 62.8 102.5 4 Henry M 14 63.5 102.5 5 James M 12 57.3

如何按“Sex”列交替F,M对该数据帧进行排序

Name    Sex Age Height  Weight
0   Alfred  M   14  69.0    112.5
1   Alice   F   13  56.5    84.0
2   Barbara F   13  65.3    98.0
3   Carol   F   14  62.8    102.5
4   Henry   M   14  63.5    102.5
5   James   M   12  57.3    83.0
6   Jane    F   12  59.8    84.5
7   Janet   F   15  62.5    112.5
8   Jeffrey M   13  62.5    84.0
9   John    M   12  59.0    99.5
10  Joyce   F   11  51.3    50.5
11  Judy    F   14  64.3    90.0
12  Louise  F   12  56.3    77.0
13  Mary    F   15  66.5    112.0
14  Philip  M   16  72.0    150.0
15  Robert  M   12  64.8    128.0
16  Ronald  M   15  67.0    133.0
17  Thomas  M   11  57.5    85.0
18  William M   15  66.5    112.0
目标:交替打印F列和M列。

IIUC,尝试以下操作:

(df.assign(sortkey=df.groupby('Sex').cumcount())
   .sort_values(['sortkey','Sex'])
   .drop('sortkey', axis=1))
输出:

       Name Sex  Age  Height  Weight
1     Alice   F   13    56.5    84.0
0    Alfred   M   14    69.0   112.5
2   Barbara   F   13    65.3    98.0
4     Henry   M   14    63.5   102.5
3     Carol   F   14    62.8   102.5
5     James   M   12    57.3    83.0
6      Jane   F   12    59.8    84.5
8   Jeffrey   M   13    62.5    84.0
7     Janet   F   15    62.5   112.5
9      John   M   12    59.0    99.5
10    Joyce   F   11    51.3    50.5
14   Philip   M   16    72.0   150.0
11     Judy   F   14    64.3    90.0
15   Robert   M   12    64.8   128.0
12   Louise   F   12    56.3    77.0
16   Ronald   M   15    67.0   133.0
13     Mary   F   15    66.5   112.0
17   Thomas   M   11    57.5    85.0
18  William   M   15    66.5   112.0

我不明白你的问题。请编辑问题并清楚地询问以帮助您。在“性别”列中,F和M交替打印F M F M F F F F F F F F F F F F F F F F F F F F F F F F F F打印,这样他们就可以正确地发布您的代码。看起来一团糟。只有了解您面临的问题,我们才能提供帮助。请将预期结果添加到问题中。酷主意+1…您忘记删除
sortkey
列:p感谢您的提问。是的,我们安全健康。我希望你和你的家人一切都好。@ch3我们都很好。