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日

相关文章

  • 解决java读取EXCEL数据变成科学计数法的问题

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

    python 2023年6月13日
    00
  • Python使用sqlite3第三方库读写SQLite数据库的方法步骤

    下面是Python使用sqlite3第三方库读写SQLite数据库的方法步骤的完整攻略。 SQLite数据库简介 SQLite是一种轻量级数据库,它以文件形式存储数据,无需服务器来管理数据。SQLite支持SQL语法,拥有良好的移植性和高性能,被广泛应用于桌面应用、嵌入式设备和移动设备等领域。 Python使用sqlite3库操作SQLite数据库的方法步骤…

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

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

    python 2023年6月13日
    00
  • Python sklearn对文本数据进行特征化提取

    一、Python sklearn对文本数据进行特征化提取的完整攻略 1.概述 机器学习通常需要将非数值形式的数据(如文本)转换为数值形式,以便更好地进行处理和训练。Python的sklearn库提供了多种文本特征提取方法,包括词袋模型、TF-IDF、词向量等。 2.准备工作 首先,需要将文本数据转换为符合要求的格式,一般是一个列表,其中每个元素代表一篇文档,…

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

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

    python 2023年6月13日
    00
  • 使用python处理题库表格并转化为word形式的实现

    一、概述 针对需求“使用python处理题库表格并转化为word形式的实现”,可以采用以下步骤完成: 1.使用pandas库读取表格数据;2.将读取到的数据按要求整理,如拼接、汇总等操作;3.通过python-docx库实现将处理结果转化为word文件。 二、具体实现步骤 1、安装依赖库 在命令行窗口输入以下命令来安装所需的依赖库: pip install …

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

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

    python 2023年6月13日
    00
  • python中append函数用法讲解

    当我们需要将一个元素添加到Python列表的末尾时,我们可以使用append()函数。下面是关于Python中append函数的完整攻略。 1. 什么是append()函数 在Python中,append()函数是列表对象的一种方法,用于在列表末尾添加一个新的元素。它是Python的内置函数,所以你可以直接调用该函数。 2. append函数的语法 appe…

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