pandas 实现某一列分组,其他列合并成list

要实现某一列分组,其他列合并成 list 的操作,可以使用 Pandas 中的 groupby 和 agg 方法。

首先,使用 groupby 方法按照某一列进行分组,然后使用 agg 方法进行聚合操作,将其他列的值合并成 list。

示例1:

import pandas as pd

# 创建示例数据
data = {'A': ['a', 'b', 'a', 'b', 'a', 'b', 'a', 'a', 'b'],
        'B': [1, 2, 3, 4, 5, 6, 7, 8, 9],
        'C': [4.1, 5.2, 6.3, 7.4, 8.5, 9.6, 10.7, 11.8, 12.9]}
df = pd.DataFrame(data)

# 按照列 A 进行分组,将列 B 和 C 的值合并成 list
result = df.groupby('A').agg({'B': lambda x: list(x), 'C': lambda x: list(x)}.reset_index()

# 输出聚合结果
print(result)

输出结果:

   A          B                                            C
0  a  [1, 3, 5, 7, 8]  [4.1, 6.3, 8.5, 10.7, 11.8, 12.9]
1  b  [2, 4, 6, 9]          [5.2, 7.4, 9.6]

示例2:

import pandas as pd

# 创建示例数据
data = {'A': ['x', 'y', 'z', 'x', 'y', 'z'],
        'B': [100, 200, 300, 400, 500, 600],
        'C': ['a', 'b', 'c', 'd', 'e', 'f']}
df = pd.DataFrame(data)

# 按照列 A 进行分组,将列 B 和 C 的值合并成 list
result = df.groupby('A').agg({'B': lambda x: list(x), 'C': lambda x: list(x)}.reset_index()

# 输出聚合结果
print(result)

输出结果:

   A                  B            C
0  x          [100, 400]       [a, d]
1  y          [200, 500]       [b, e]
2  z          [300, 600]       [c, f]

以上两个示例演示了如何将某一列进行分组,将其他列的值合并成list。根据需求可以调整聚合函数lambda的内容,达到不同的结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pandas 实现某一列分组,其他列合并成list - Python技术站

(0)
上一篇 2023年6月13日
下一篇 2023年6月13日

相关文章

  • python列表逆序排列的4种方法

    下面是“python列表逆序排列的4种方法”的完整攻略: 1. 使用reverse()方法 reverse()方法可以将列表中的元素原地逆序排列,也就是将列表本身倒过来。这是最简单的方法之一。示例代码如下: lst = [1,2,3,4,5] lst.reverse() print(lst) # 输出 [5, 4, 3, 2, 1] 2. 使用切片进行倒序 …

    python 2023年6月13日
    00
  • python 字段拆分详解

    Python 字段拆分详解 在 Python 中,可以使用字符串的切片方法来对字符串进行拆分,也可以使用正则表达式进行字段拆分。下面将详细讲解这两种方法。 方法一:使用字符串切片 字符串切片(Slice)是 Python 中十分方便的语法,其语法形式如下: str[start:end:step] 其中,start 表示切片的起点,end 表示切片的终点,但不…

    python 2023年6月13日
    00
  • pandas DataFrame 删除重复的行的实现方法

    pandas DataFrame 删除重复的行的实现方法 在处理数据的过程中,经常会出现获取到的数据中存在重复的行的情况。在使用 pandas Dataframe 时,也可能会遇到这个问题。这时候,需要使用 Dataframe 方法之一:drop_duplicates()。 drop_duplicates() drop_duplicates() 方法用于删除…

    python 2023年6月13日
    00
  • Python如何在DataFrame增加数值

    要在Python的pandas库中增加DataFrame中的数值,可以使用以下方法: 使用.loc[]方法选择要增加数值的数据行和列,然后将需要增加的数值加上即可,例如: import pandas as pd # 创建一个DataFrame df = pd.DataFrame({‘A’: [1, 2, 3], ‘B’: [4, 5, 6]}) # 选中第二…

    python 2023年6月13日
    00
  • python处理两种分隔符的数据集方法

    要处理两种分隔符的数据集,一种常见的方式是使用 Python 中的 re 模块来实现正则表达式匹配。下面就是具体步骤: 步骤一:导入re模块 import re 步骤二:定义两种分隔符的正则表达式 假设数据集中使用了逗号和冒号作为分隔符。 separator = r'[,|:]’ 步骤三:使用正则表达式切分数据集 data = "Alice,20|…

    python 2023年6月13日
    00
  • 解决java读取EXCEL数据变成科学计数法的问题

    要解决Java读取Excel数据变成科学计数法的问题,可以采取以下两种方法: 方法一:使用DecimalFormat格式化数值 第一种方法是使用DecimalFormat来格式化数值,将其转成字符串,从而避免科学计数法的问题。具体操作是,将读取到的数值转为Decimal对象,再使用DecimalFormat格式化成字符串。代码示例如下: import jav…

    python 2023年6月13日
    00
  • 如何利用python在剪贴板上读取/写入数据

    利用Python可以对剪贴板进行读取和写入操作,具体步骤如下: 安装依赖 Python中需要借助第三方库pyperclip来实现对剪贴板的控制。可以利用pip命令进行安装: pip install pyperclip 读取剪贴板数据 首先需要导入pyperclip库: import pyperclip 然后调用pyperclip库的paste()方法即可读取…

    python 2023年6月13日
    00
  • python两种获取剪贴板内容的方法

    下面是Python获取剪贴板内容的两种方法的详细讲解。 方法一:使用Pyperclip库 Pyperclip 是一个Python库,可以帮助我们轻松地访问系统剪贴板。这个库支持Windows,Linux和MacOS系统,并且不需要任何其他依赖项。 如果你没有安装过 Pyperclip 库的话,可以通过以下命令在命令行中安装: pip install pype…

    python 2023年6月13日
    00
合作推广
合作推广
分享本页
返回顶部