首页 > 后端开发 > Python教程 > 如何使用分隔符有效地连接 Pandas 中的分组值?

如何使用分隔符有效地连接 Pandas 中的分组值?

Barbara Streisand
发布: 2024-12-16 19:55:18
原创
346 人浏览过

How to Efficiently Join Grouped Values in Pandas with a Delimiter?

在 Pandas 中使用分隔符连接分组值

使用 groupby 函数对具有多个值的数据进行分组时,经常会遇到此问题不使用分隔符连接这些值。要解决此问题,您可以利用 agg 方法。

考虑以下 DataFrame:

col | val
-----|-----
A    | Cat
A    | Tiger
B    | Ball
B    | Bat
登录后复制

要根据 col 列对这些行进行分组并连接 val 列中的值,请使用以下代码:

import pandas as pd
df = pd.DataFrame({'col': ['A', 'A', 'B', 'B'], 'val': ['Cat', 'Tiger', 'Ball', 'Bat']})
grouped = df.groupby('col')['val'].agg('-'.join)
登录后复制

这种方法应该会产生所需的结果result:

col | val
-----|-----
A    | Cat-Tiger
B    | Ball-Bat
登录后复制

但是,如果使用 apply 方法作为替代方法,则可能会导致意外结果,连字符值会多次出现,如下所示:

df.groupby('col')['val'].apply(lambda x: '-'.join(x))

col | val
-----|-----
A        | C-a-t-T-i-g-e-r
B          | B-a-l-l-B-a-t
登录后复制

为了避免这个问题,请使用 agg 方法,如上面的示例所示。

此外,将分组索引或 MultiIndex 转换为常规索引列,您可以使用reset_index方法:

df1 = grouped.reset_index(name='new')
登录后复制

以上是如何使用分隔符有效地连接 Pandas 中的分组值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板