ホームページ >バックエンド開発 >Python チュートリアル >Pandas.cut と NumPy.searchsorted を使用して Pandas 列を効果的にビン化するにはどうすればよいですか?

Pandas.cut と NumPy.searchsorted を使用して Pandas 列を効果的にビン化するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-09 11:17:041057ブラウズ

How Can I Effectively Bin a Pandas Column Using Pandas.cut and NumPy.searchsorted?

Pandas 列のビニング

ビニングでは、データ分布を分析するために連続データ列を不連続な間隔に分割します。 Pandas を使用して数値を含む列をビン化するには、さまざまな方法を検討できます。

Pandas.cut メソッド

Pandas は、ビニングを実行するための Cut 関数を提供します。ビン化するシリーズとビンのエッジのリストを引数として受け取ります。デフォルトでは、ビン ラベルを含むカテゴリ列が返されます。例:

bins = [0, 1, 5, 10, 25, 50, 100]
df['binned'] = pd.cut(df['percentage'], bins)

NumPy.searchsorted メソッド

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。