marcopagot
@marcopagot (Asuka)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

train['面積']データの中の「2000㎡以上」のデータを全て「2000」で統一したい

解決したいこと

train['面積']データの中の「2000㎡以上」のデータを全て「2000」で統一したい

課題

機械学習初学者です。
現在、NISHIKA主催の「中古マンションの価格予測」というコンペに参加しております。
trainデータの「面積」カラムの中に'2000㎡以上'というデータがあるのですが、そのデータを全て2000で統一したいです。

現状(入力)

train['面積(㎡)'].value_counts()

出力

70         73408
65         67859
60         54143
75         49502
20         43229
55         40832
80         33739
50         28894
15         26102
85         20558
25         19951
45         18255
65         13467
70         13447
90         13013
40         12833
60         11464
20         11398
30         10391
35          9886
95          9486
75          9331
55          8129
80          7299
25          5857
15          5761
50          5426
100         4646
85          4546
45          3188
90          2923
40          2859
105         2694
30          2609
35          2225
95          1950
110         1681
115         1233
10          1038
100          968
120          832
125          607
105          587
130          413
110          403
135          323
10           309
115          305
145          237
140          206
120          201
150          155
125          150
130          148
155          137
160           98
135           86
165           83
180           79
170           77
140           77
145           61
190           60
185           54
175           46
230           42
210           41
200           39
150           39
195           36
160           35
155           31
220           30
180           27
170           23
250           23
260           21
240           19
270           18
185           17
210           16
290           15
165           13
175           12
310           11
190           10
280           10
340           10
200            9
195            8
350            8
370            8
220            8
480            7
450            7
330            7
390            7
360            7
440            7
2000以上        7
290            6
320            6
320            6
270            6
1000           6
460            6
760            5
240            5
380            4
300            4
500            4
330            4
230            4
390            4
680            4
630            4
250            4
300            4
860            3
410            3
360            3
340            3
470            3
970            3
490            3
260            3
520            3
730            3
710            3
700            3
590            3
400            3
650            3
410            2
650            2
450            2
310            2
470            2
500            2
590            2
670            2
1500           2
1400           2
420            2
660            2
1300           2
1200           2
1100           2
620            2
510            2
550            2
560            2
580            2
600            2
690            2
430            2
770            1
400            1
830            1
370            1
890            1
560            1
980            1
730            1
480            1
740            1
520            1
510            1
710            1
900            1
760            1
820            1
670            1
780            1
660            1
690            1
440            1
530            1
780            1
540            1
570            1
610            1
630            1
720            1
740            1
770            1
790            1
490            1
800            1
820            1
870            1
900            1
940            1
960            1
990            1
830            1
Name: 面積(㎡), dtype: int64

自分で試したこと

調べると、カラム名やインデックス名を変更する方法は沢山出てくるのですが、データ名を変更する方法が見当たりませんでした、、、。
何か良い方法があればご教示の程宜しくお願いします。

0

1Answer

一番スタンダードなのは、.replace()メソッドを使う方法です。

train['面積(㎡)'].replace({'2000㎡以上': '2000'}, inplace=True)

次のように、置換前の値が含まれる行を抽出して代入する方法もあります。

train.loc[train['面積(㎡)'] == '2000㎡以上', '面積(㎡)'] = '2000'
2Like

Comments

  1. @marcopagot

    Questioner

    nkay様
    大変丁寧な解答ありがとうございます。
    参考になりました🙇‍♂️

Your answer might help someone💌