提供された 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}
もう 1 つのオプションは、データ型を変更して sum に文字列を強制的に連結することです:
<code class="python">df['C'] = df['C'].astype(str) result = df.groupby('A')['C'].sum()</code>
これも望ましい結果が得られます。
以上がPandas groupby を使用してグループ内の文字列を結合する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。