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

如何在pandas groupby中对数据帧行进行列表分组

周苑博
2023-03-14

我有一个pandas数据帧df像:

a b
A 1
A 2
B 5
B 5
B 4
C 6

我想按第一列进行分组,并将第二列作为行中的列表:

A [1,2]
B [5,5,4]
C [6]

共有1个答案

锺高翰
2023-03-14

您可以使用groupby对感兴趣的列进行分组,然后applylist应用到每个组:

In [1]: df = pd.DataFrame( {'a':['A','A','B','B','B','C'], 'b':[1,2,5,5,4,6]})
        df

Out[1]: 
   a  b
0  A  1
1  A  2
2  B  5
3  B  5
4  B  4
5  C  6

In [2]: df.groupby('a')['b'].apply(list)
Out[2]: 
a
A       [1, 2]
B    [5, 5, 4]
C          [6]
Name: b, dtype: object

In [3]: df1 = df.groupby('a')['b'].apply(list).reset_index(name='new')
        df1
Out[3]: 
   a        new
0  A     [1, 2]
1  B  [5, 5, 4]
2  C        [6]
 类似资料:
  • 我想按多个列对熊猫数据框进行分组。每个Row都有一个整数、一个Name和一个额外的数值。我希望最终的Dataframe包含Name具有最高整数的每一行。 通过分组数据帧,只有第0行应该消失。第3行和第4行仍应包括在数据框中。

  • 我正在编写一个Python脚本来从我的数码相机导入图片,并且我正在使用Pandas来帮助记账传入的图像。我正在使用EXIF数据为单个图像标记信息,例如相机型号、图像模式、图像格式和相机获取图像的时间戳。这些数据用于将图像分离到目录结构中。我正在努力解决的是如何使用Pandas根据一组时间戳对图像进行分组,例如,这些时间戳都在彼此相隔半小时之内。举个例子,假设我有六张照片,其中三张是在相隔9分钟内拍

  • 我有一个像这样的数据框- 我有一个这样的列表- 现在,我想根据列名列表对数据框进行排序 因此,新的数据框将有列名称-

  • 本文向大家介绍如何在JavaScript中对JSON数据进行分组?,包括了如何在JavaScript中对JSON数据进行分组?的使用技巧和注意事项,需要的朋友参考一下 要对JSON数据进行分组,您需要提取所有键并使用。以下是代码- 示例 要运行上述程序,您需要使用以下命令- 输出结果 在这里,我的文件名为demo122.js。这将产生以下输出-

  • 我有一个数据帧,它有500个分区,并且被洗牌。我想根据“城市”一栏重新划分,但城市一栏非常歪斜,因为它只有三个可能的值。所以当我重新分区​ 基于列城市,即使我指定了500个分区,也只有三个分区在获取数据。因此,我遇到了性能问题。我在网上搜索,但找不到任何合适的解决方案。是否有一种方法可以跨基于city列的分区均匀地重新划分数据帧。我需要的是:city1表示前5个分区,city2表示后490个分区,

  • 给定一个< code>java.util.List和< code>n个元素以及一个期望的页面大小< code>m,我想将它转换成一个包含< code>n/m n%m个元素的映射。每个地图元素应包含< code>m个元素。 这里有一个整数的例子: 使用Java 8,这是可能的吗?