提供的 DataFrame 包含三列:A、B 和 C。目标是将 DataFrame 分组为A 列并从 C 列中获取每个组的字符串并集。
默认情况下,groupby 对数字列求和,这不适用于字符串。
一种方法是定义一个函数,使用 join 方法连接每个组内的字符串:
<code class="python">def f(x): return "{%s}" % ', '.join(x)</code>
并将此函数应用于分组的 DataFrame:
<code class="python">result = df.groupby('A')['C'].apply(f)</code>
这种方法产生所需的输出:
A 1 {This, string} 2 {is, !} 3 {a} 4 {random}
另一个选项是通过修改数据类型强制 sum 连接字符串:
<code class="python">df['C'] = df['C'].astype(str) result = df.groupby('A')['C'].sum()</code>
这也是给出了想要的结果。
以上是如何使用 Pandas groupby 组合组内的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!