首页  >  文章  >  后端开发  >  如何从分组的 Pandas DataFrame 中有效地提取字符串并集?

如何从分组的 Pandas DataFrame 中有效地提取字符串并集?

Patricia Arquette
Patricia Arquette原创
2024-10-25 05:48:29989浏览

How to Efficiently Extract the Union of Strings from Grouped Pandas DataFrames?

Pandas GroupBy 中的字符串并集

这个问题解决了一个常见的挑战:从按特定分组的 Pandas DataFrame 中提取字符串并集柱子。不幸的是,在包含字符串的列上使用 sum() 函数不会连接它们。相反,本文探讨了实现所需结果的替代方法。

将 GroupBy 与自定义函数结合使用

一种解决方案是定义应用特定操作的自定义函数给每个组。例如,我们可以使用 apply() 方法来迭代组并返回所需的值。操作方法如下:

<code class="python">def my_function(group):
    return "{%s}" % ', '.join(group['C'])</code>

此函数将每个组的“C”列中的字符串组合成一个用大括号括起来的集合。

<code class="python">df.groupby('A')['C'].apply(my_function)</code>

将 GroupBy 与 lambda 结合使用表达式

更简单的语法涉及使用 lambda 表达式:

<code class="python">df.groupby('A')['C'].apply(lambda x: "{%s}" % ', '.join(x))</code>

此 lambda 表达式执行与自定义函数相同的串联操作。

组合组

有时,将多个组的信息组合成一个系列可能会很有用。下面是一个示例:

<code class="python">def f(group):
    return Series(dict(A=group['A'].sum(),
                       B=group['B'].sum(),
                       C="{%s}" % ', '.join(group['C'])))</code>

此函数使用 sum() 聚合“A”和“B”列,并将“C”列组合成一个集合。

<code class="python">df.groupby('A').apply(f)</code>

此方法生成一个包含每个组的聚合值的 DataFrame。

通过使用这些方法,您可以有效地从分组的 Pandas DataFrame 中提取字符串的并集,从而解锁以有意义的方式分析和可视化基于文本的数据的能力.

以上是如何从分组的 Pandas DataFrame 中有效地提取字符串并集?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn