ホームページ >バックエンド開発 >Python チュートリアル >Pandas groupby を使用してグループ内の文字列を結合する方法?

Pandas groupby を使用してグループ内の文字列を結合する方法?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-24 19:06:291048ブラウズ

How to Combine Strings Within Groups Using Pandas groupby?

Pandas groupby: 文字列の結合を取得する方法

提供された DataFrame には、A、B、C の 3 つの列が含まれています。目標は、DataFrame をグループ化することです。列 A を取得し、グループごとに列 C から文字列の和集合を取得します。

デフォルトでは、groupby は数値列を合計しますが、文字列に対しては機能しません。

カスタム関数の使用

1 つのアプローチは、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 と Concatenation を使用する

もう 1 つのオプションは、データ型を変更して sum に文字列を強制的に連結することです:

<code class="python">df['C'] = df['C'].astype(str)
result = df.groupby('A')['C'].sum()</code>

これも望ましい結果が得られます。

以上がPandas groupby を使用してグループ内の文字列を結合する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。