私は$ 100から$ 1000の支払いを含む支払いの合計列名を持つデータセットを持っていますが、$ 100.05、$ 102または104.05の支払いがあります。たとえば、$ 97以下の行を作成する場合は、100ドル未満または100〜200未満のカテゴリを持つ列を作成します。既存のデータフレームに新しいカテゴリを作成するにはどうすればよいですか?
このようなコードを作成しました。
が、出力はすべての行が800と900の間に言って、次のとおりです。
この人々にサポートしてください。
私は$ 100から$ 1000の支払いを含む支払いの合計列名を持つデータセットを持っていますが、$ 100.05、$ 102または104.05の支払いがあります。たとえば、$ 97以下の行を作成する場合は、100ドル未満または100〜200未満のカテゴリを持つ列を作成します。既存のデータフレームに新しいカテゴリを作成するにはどうすればよいですか?
このようなコードを作成しました。
が、出力はすべての行が800と900の間に言って、次のとおりです。
この人々にサポートしてください。
あなたはpd.cutに
labels = ['<100', '100-200','200-300','300-400','400-500','500-600','600-700','700-800','800-900']
df['Brackets'] = pd.cut(df['Total_payments'], \
bins = np.arange(0, df['Total_payments'].max()+100, 100), labels = labels)
Total_payments Brackets
0 97.0 <100
1 110.0 100-200
2 100.5 100-200
3 370.0 300-400
4 820.0 800-900
5 600.0 500-600
編集使用してブラケットの列を追加することができます
df = pd.DataFrame({'Total_payments': [97, 110, 100.5, 370, 820, 600]})
DFこのダミーを考えてみましょう pandas.cut使用することができますによって提案されたラベルパラメータを使用して答えを更新します@Mikhail Venkov
'labels'パラメータを使用して、ビンのラベルとして使用する文字列のリストを渡すこともできます。また、ビンは、均等に配置されていない境界のリストにすることもできます。 –
コードの画像を投稿しない理由について[こちらを読む](https://meta.stackoverflow.com/a/285557/5241032)[https://stackoverflow.com/ヘルプ/ mcve)について最小限で完全で検証可能な例を作成します。 – cmaher