ホームページ >バックエンド開発 >Python チュートリアル >Pandas.cut と NumPy.searchsorted を使用して Pandas 列を効果的にビン化するにはどうすればよいですか?
ビニングでは、データ分布を分析するために連続データ列を不連続な間隔に分割します。 Pandas を使用して数値を含む列をビン化するには、さまざまな方法を検討できます。
Pandas は、ビニングを実行するための Cut 関数を提供します。ビン化するシリーズとビンのエッジのリストを引数として受け取ります。デフォルトでは、ビン ラベルを含むカテゴリ列が返されます。例:
bins = [0, 1, 5, 10, 25, 50, 100] df['binned'] = pd.cut(df['percentage'], bins)
NumPy の searchsorted 関数はビニングにも使用できます。系列内の各値が含まれるビンのインデックスを返します。結果の値を使用してビン分割されたカテゴリを作成できます。
df['binned'] = np.searchsorted(bins, df['percentage'].values)
ビン分割された列が作成されたら、値カウントを計算して、その中の観測値の数を決定できます。各ビン。これは、value_counts または groupby と集計サイズのいずれかを使用して実現できます。
s = pd.cut(df['percentage'], bins=bins).value_counts()
s = df.groupby(pd.cut(df['percentage'], bins=bins)).size()
これらの手法を使用すると、Pandas で数値データ列を効果的にビン化し、その分布についての洞察を得ることができます。
以上がPandas.cut と NumPy.searchsorted を使用して Pandas 列を効果的にビン化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。