54

文字列を数値に置き換えたい非常に大きなデータセットがあります。データセットの各キー (列) に対してマッピング関数を入力せずに、データセットを操作したいと考えています。(fillna メソッドに似ていますが、特定の文字列を関連付けられた値に置き換えます)。とにかくこれを行うことはありますか?

これが私のデータセットの例です

data
   resp          A          B          C
0     1       poor       poor       good
1     2       good       poor       good
2     3  very good  very good  very good
3     4       bad        poor       bad 
4     5   very bad   very bad   very bad
5     6       poor       good   very bad
6     7       good       good       good
7     8  very good  very good  very good
8     9       bad        bad    very bad
9    10   very bad   very bad   very bad

望ましい結果:

 data
   resp  A  B  C
0      1  3  3  4
1     2  4  3  4
2     3  5  5  5
3     4  2  3  2
4     5  1  1  1
5     6  3  4  1
6     7  4  4  4
7     8  5  5  5
8     9  2  2  1
9    10  1  1  1

非常に悪い=1、悪い=2、悪い=3、良い=4、非常に良い=5

//ジョナス

4

3 に答える 3

2

data = data.replace(['very bad', 'bad', 'poor', 'good', 'very good'], [1, 2, 3, 4, 5])

結果を保存する場所を指定する必要があります。data.replace(...)のみを言うと、環境自体ではなく、プレビューの変更としてのみ表示されます。

于 2020-03-11T22:01:14.633 に答える