Pandas DataFrame GroupBy 値カウントの複数の列
Pandas を使用した DataFrame 操作では、データを複数の列でグループ化すると、貴重な洞察が得られます。この記事では、2 つの列でグループ化しながら観測値をカウントする方法と、各グループの最大数を決定する方法を説明します。
複数の列を持つ DataFrame を指定すると、「groupby」関数を適用してデータをグループ化できます。特定の列に基づいて。ここには、「col1」、「col2」、「col3」、「col4」、「col5」の 5 つの列を持つ「df」という名前の DataFrame があります。
import pandas as pd
df = pd.DataFrame([
[1.1, 1.1, 1.1, 2.6, 2.5, 3.4,2.6,2.6,3.4,3.4,2.6,1.1,1.1,3.3],
list('AAABBBBABCBDDD'),
[1.1, 1.7, 2.5, 2.6, 3.3, 3.8,4.0,4.2,4.3,4.5,4.6,4.7,4.7,4.8],
['x/y/z','x/y','x/y/z/n','x/u','x','x/u/v','x/y/z','x','x/u/v/b','-','x/y','x/y/z','x','x/u/v/w'],
['1','3','3','2','4','2','5','3','6','3','5','1','1','1']
]).T
df.columns = ['col1','col2','col3','col4','col5']
行グループごとのカウント
各行グループ内の観測値の数を調べるには、目的の列で 'groupby' 関数を使用してから、'size' 関数を適用します。
result = df.groupby(['col5', 'col2']).size()
これにより、グループ化された列をインデックスとして、サイズを値として持つ DataFrame が生成されます。
print(result)
最大数の決定
各 'col2' 値の最大数を決定するには、'col2' で 'groupby' 関数を使用してから、グループ化されたデータに 'max' 関数を適用します。 .
result = df.groupby(['col5', 'col2']).size().groupby(level=1).max()
これは次のようになります各 'col2' 値の最大数を持つシリーズ。
print(result)
要約すると、Pandas で 'groupby' 関数と 'size' 関数を使用すると、効率的にデータの分析と集約により、ユーザーがさまざまな方法でデータに関する洞察を抽出できるようになります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3