提供的 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中文網其他相關文章!