Pandas GroupBy の文字列の結合
この質問は、特定のグループ化された Pandas DataFrame から文字列の結合を抽出するという共通の課題に対処します。カラム。残念ながら、文字列を含む列に対して sum() 関数を使用しても、文字列は連結されません。代わりに、この記事では、望ましい結果を達成するための代替方法を検討します。
カスタム関数での GroupBy の使用
解決策の 1 つは、特定の操作を適用するカスタム関数を定義することです。各グループへ。たとえば、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 を使用するExpression
より単純な構文には、ラムダ式の使用が含まれます。
<code class="python">df.groupby('A')['C'].apply(lambda x: "{%s}" % ', '.join(x))</code>
このラムダ式は、カスタム関数と同じ連結操作を実行します。
グループの結合
複数のグループの情報を 1 つのシリーズに結合すると便利な場合があります。以下に例を示します。
<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' 列を 1 つのセットに結合します。
<code class="python">df.groupby('A').apply(f)</code>
Thisこのアプローチにより、各グループの集計値を含む DataFrame が生成されます。
これらのメソッドを採用すると、グループ化された Pandas DataFrame から文字列の結合を効果的に抽出でき、テキストベースのデータを有意義な方法で分析および視覚化できるようになります。 .
以上がグループ化された Pandas DataFrame から文字列の結合を効率的に抽出する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。