質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

1回答

809閲覧

Python pandas ビン化ができない。

Shin_go

総合スコア19

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2021/07/22 10:43

編集2021/07/22 11:40

以下のコードで出力されたcustomerデータがあります。
CREDIT_SCOREを1‐10、11‐20、21‐30、、、91‐100と区分して、列を追加したいのですが、
うまくいきません。
どなたかやり方をご教示いただけないでしょうか?
ビン化やcut関数などと使うのでしょうか?
いただけないでしょうか?

<コード>

customer = pd.read_csv(myfolder+"CUSTOMER.csv",
names=('CUSTOMER_NUMBER','CUSTOMER_NAME','CREDIT_SCORE','AREA'),
header=0)
customer.head()

<コードから出力されるデータ>

CUSTOMER_NUMBER  CUSTOMER_NAME CREDIT_SCORE AREA
0 CUS00002 ○○○01株式会社 28     新潟県
1 CUS00003 ○○○02株式会社 13      島根県
2 CUS00006 合同会社○○○03 4 福井県
3 CUS00010 合同会社○○○04 27 岐阜県
4 CUS00013 株式会社○○○05 27 山梨県

<コードから出力されるデータ>

CUSTOMER_NUMBER  CUSTOMER_NAME CREDIT_SCORE AREA CREDIT_SCORE_KBN
0 CUS00002 ○○○01株式会社 28     新潟県 21-30
1 CUS00003 ○○○02株式会社 13      島根県 11-19
2 CUS00006 合同会社○○○03 4 福井県 1-10
3 CUS00010 合同会社○○○04 27 岐阜県 21-30
4 CUS00013 株式会社○○○05 27 山梨県 21-30

<CSVのサンプルデータ>
取引先番号 取引先名称  与信スコア 都道府県
CUS00002 ○○○01株式会社 28 新潟県
CUS00003 ○○○02株式会社 13 島根県
CUS00006 合同会社○○○03 4 福井県
CUS00010 合同会社○○○04 27 岐阜県
CUS00013 株式会社○○○05 27 山梨県
CUS00014 ○○○06 1 島根県
CUS00016 ○○○07 44 山形県
CUS00017 合同会社○○○08 9 山梨県
CUS00020 株式会社○○○09 7 福島県
CUS00024 株式会社○○○10 13 高知県
CUS00027 株式会社○○○11 16 福岡県
CUS00033 ○○○12 26 高知県
CUS00038 ○○○13株式会社 9 沖縄県
CUS00042 株式会社○○○14 15 富山県
CUS00050 ○○○15株式会社 60 岡山県
CUS00054 ○○○16 10 島根県
CUS00055 ○○○17 48 京都府
CUS00060 ○○○18 29 岩手県

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2021/07/22 10:59

csvのサンプルデータと欲しい結果を提示いただくと回答しやすくなるかと思います。
Shin_go

2021/07/22 11:40

ありがとうございます。 提示にさせていただきました。よろしくお願いいたします。
guest

回答1

0

pandasのcut, qcut関数でビニング処理(ビン分割)に書いてあるとおりです。

  • 区分の分け方がよくわかりませんでした。

こうですね。

python

1>>> print(df) 2 取引先番号 取引先名称 与信スコア 都道府県 30 CUS00002 01株式会社 28 新潟県 41 CUS00003 02株式会社 13 島根県 52 CUS00006 合同会社03 4 福井県 63 CUS00010 合同会社04 27 岐阜県 74 CUS00013 株式会社05 27 山梨県 85 CUS00014 06 1 島根県 96 CUS00016 07 44 山形県 107 CUS00017 合同会社08 9 山梨県 118 CUS00020 株式会社09 7 福島県 129 CUS00024 株式会社10 13 高知県 1310 CUS00027 株式会社11 16 福岡県 1411 CUS00033 12 26 高知県 1512 CUS00038 13株式会社 9 沖縄県 1613 CUS00042 株式会社14 15 富山県 1714 CUS00050 15株式会社 60 岡山県 1815 CUS00054 16 10 島根県 1916 CUS00055 17 48 京都府 2017 CUS00060 18 29 岩手県 21>>> 22>>> df['与信スコア_KBN'] = pd.cut(df['与信スコア'], range(0,101,10)) 23>>> 24>>> print(df) 25 取引先番号 取引先名称 与信スコア 都道府県 与信スコア_KBN 260 CUS00002 01株式会社 28 新潟県 (20, 30] 271 CUS00003 02株式会社 13 島根県 (10, 20] 282 CUS00006 合同会社03 4 福井県 (0, 10] 293 CUS00010 合同会社04 27 岐阜県 (20, 30] 304 CUS00013 株式会社05 27 山梨県 (20, 30] 315 CUS00014 06 1 島根県 (0, 10] 326 CUS00016 07 44 山形県 (40, 50] 337 CUS00017 合同会社08 9 山梨県 (0, 10] 348 CUS00020 株式会社09 7 福島県 (0, 10] 359 CUS00024 株式会社10 13 高知県 (10, 20] 3610 CUS00027 株式会社11 16 福岡県 (10, 20] 3711 CUS00033 12 26 高知県 (20, 30] 3812 CUS00038 13株式会社 9 沖縄県 (0, 10] 3913 CUS00042 株式会社14 15 富山県 (10, 20] 4014 CUS00050 15株式会社 60 岡山県 (50, 60] 4115 CUS00054 16 10 島根県 (0, 10] 4216 CUS00055 17 48 京都府 (40, 50] 4317 CUS00060 18 29 岩手県 (20, 30]

投稿2021/07/22 11:02

編集2021/07/22 12:13
ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Shin_go

2021/07/22 11:44

区分の分け方がよくわかりませんでした。この類はサイトに多くありよく理解できず。。。 初学者ということもありまして、すみません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問