ホームページ > バックエンド開発 > Python チュートリアル > Pandas DataFrame グループにシーケンシャル カウンター列を効率的に追加する方法

Pandas DataFrame グループにシーケンシャル カウンター列を効率的に追加する方法

Mary-Kate Olsen
リリース: 2024-12-23 21:29:11
オリジナル
444 人が閲覧しました

How to Efficiently Add a Sequential Counter Column to Pandas DataFrame Groups?

コールバックを使用せずにグループのシーケンシャル カウンター列を Pandas データフレームに追加する

提供された Python コードは、シーケンシャル カウンターを追加する 1 つの方法を示しています。特定の列 ('c1' および 'c2') に沿って groupby 操作を実行し、カスタム プロパティを適用することにより、列 (seq) をデータフレームに追加します。 関数。ただし、コールバックを必要とせずにこの結果を達成するには、より効率的なアプローチがある可能性があります。

もう 1 つの方法は、cumcount() 関数を利用することです。これは、グループ内で連続した番号を生成する便利な方法です。改善されたソリューションは次のとおりです。

df['seq'] = df.groupby(['c1', 'c2']).cumcount() + 1
ログイン後にコピー

この行は、「seq」という名前の新しい列をデータフレームに追加します。これには、「c1」列と「c2」列で定義された各グループの連続番号が含まれます。 Cumcount() 関数は指定されたグループに沿って適用され、結果は 0 ではなく 1 からカウントを開始するために 1 シフトされます。

変更されたデータフレームの出力は次のとおりです:

   c1 c2  v1  seq
0   A  X   3    1
1   A  X   5    2
2   A  Y   7    1
3   A  Y   1    2
4   B  X   3    1
5   B  X   1    2
6   B  X   3    3
7   B  Y   1    1
8   C  X   7    1
9   C  Y   4    1
10  C  Y   1    2
11  C  Y   6    3
ログイン後にコピー

cumcount() を使用すると、シーケンシャル カウンター列が元のデータフレームの所定の位置に追加され、コールバック関数の必要性がなくなり、コードが簡素化されます。

以上がPandas DataFrame グループにシーケンシャル カウンター列を効率的に追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート