当前位置: 首页 > 知识库问答 >
问题:

熊猫,按操作列分组[重复]

易风华
2023-03-14
df = pd.DataFrame({'id': [1,2,3,4,5,6,7,8,9,10], 'Col1': ['a','b','c','d','a','b','c','d','a','b'], 'Col2': ['s','t','u','v','w','x','s','t','u','v']})


   id Col1 Col2
0   1   a   s
1   2   b   t
2   3   c   u
3   4   d   v
4   5   a   w
5   6   b   x
6   7   c   s
7   8   d   t
8   9   a   u
9   10  b   v

我想得到这样的东西

   id Col1 Col2
0   1   a   s
1   5   a   w
2   9   a   u
3   2   b   t
4   6   b   x
5   10  b   v
6   3   c   u
7   7   c   s
8   4   d   v
9   8   d   t

我用groupby关键字搜索了stackoverflow,没有找到与我类似的问题。

共有1个答案

丁雅逸
2023-03-14
print( df.sort_values(['Col1', 'id', 'Col2'], ignore_index=True) )

打印:

   id Col1 Col2
0   1    a    s
1   5    a    w
2   9    a    u
3   2    b    t
4   6    b    x
5  10    b    v
6   3    c    u
7   7    c    s
8   4    d    v
9   8    d    t
 类似资料:
  • 问题内容: 如何对pandas groupby操作应用排序?下面的命令返回一个错误,指出“布尔”对象不可调用 问题答案: 通常,排序是在groupby键上执行的,并且您发现您无法调用groupby对象,您可以做的是调用并传递函数并将列作为kwarg参数传递: 另外,您可以在分组之前对df进行排序: 更新资料 对于不建议使用的版本,请参见docs,现在应使用: 在这里在评论中添加@xgdgsc的答案

  • 我有一个数据框架,其中包含进程列表和它们所花费的时间,如下所示 我想得到以下结果 我知道如何使用gorupby以获得ONE,但只获得其中一个列。这就是我解决问题的方法 但是,如何获得所需的df而不必一列一列地组合它呢?对我来说,这种方法还不够“泛音速”(也不够pythonic)

  • 我有以下数据框: 我需要按年和月分组数据。即:按2013年1月、2013年2月、2013年3月等分组...我将使用新分组的数据来创建一个显示每年/每月abc vs xyz的图表。 我尝试过groupby和sum的各种组合,但似乎没有任何效果。 谢谢你的帮助。

  • 问题内容: pandas groupby的默认行为是将group by列转换为index并将其从数据框的列列表中删除。例如,说我有一个包含这些列的dataFrame 如果我申请一个GROUPBY发言权列和这样 数据框不再在列列表中。它们将自动转换为结果数据帧的索引。 我的问题是如何对列执行groupby并将该列保留在数据框中? 问题答案:

  • 问题内容: 另一个熊猫问题。 阅读韦斯·麦金尼(Wes Mckinney)关于数据分析和熊猫的出色著作,我遇到了以下我认为应该起作用的事情: 假设我有一些有关提示的信息。 我想知道与总费用有关的五个最大技巧,即分别针对吸烟者和不吸烟者。所以这有效: 足够好了,但是然后我想使用pandas的transform来做类似的事情: 但是我得到了这个: 为什么?我知道转换需要返回与输入相同尺寸的数组,因此我

  • 我已经看到了将一个列/系列分解成熊猫数据框架的多个列这一主题的一些变体,但是我一直在尝试做一些事情,但是现有的方法并没有真正成功。 给定如下数据帧: 我想将系列中的项目转换为列,以 值作为值,如下所示: 我觉得这应该是一个相对简单的问题,但我已经为此努力了几个小时,不断增加的复杂程度,但没有成功。