繁体   English   中英

熊猫合并python排序数据框

pandas merge python sort data frame

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

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

我想交替输出性别列行

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

您可以使用groupby().cumcount()枚举组内的行然后sort_values

(df.assign(order=df.groupby(['Sex']).cumcount())
   .sort_values(['order','Sex'])
   .drop('order',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
1 熊猫数据框排序

我有一个这样的熊猫数据框,我尝试按列“ dist”进行排序。 排序的数据框应以E或F开头,如下所示。 我使用的sort_values不适用于我。 该函数计算从“开始”位置到位置列表[“ C”,“ B”,“ D”,“ E”,“ A”,“ F”]的距离,然后按升序对数据框进行排序使用“ dis ...

3 Python Pandas-在列上合并两个数据框和子字符串

我在Python中有两个数据框,如下所示 我想在Customer_key上加入这两个数据框(我可以在Merge中进行此操作),然后在数据框的几列上串联起来,以在结果数据框中形成新的字符串。 从下面的数据帧中,我正在寻找的结果如下 基本上,df2中的substring(last_ ...

5 在这种情况下,Python pandas数据框架合并如何工作?

我正在尝试使用熊猫合并2个Excel工作表。 但是在内部合并中,它会丢失两个数据帧上的1条记录。 并在左侧合并给出一半的数据。 最初,结果1在执行后减少了1个网址 它显示了url,但该合并的行上缺少其他列数据 请任何人向我解释如何解决此问题。 ...

10 Python Pandas 数据框

我试图弄清楚为什么在单行上调用 DF 上的 sum() 并且相同的逻辑被分成不同的行时,Total 存在差异。 列的子集被带到一个列表,然后这个列表被传递给 sum() 第一条记录的预期总数为 45+49+49+65+65+45 =318 但收到 320.0 但是,如果将相同的代码写在如下一 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM