文字列を数字に置き換えたい場合、非常に大きなデータセットがあります。データセットの各キー(列)にマッピング関数を入力せずに、データセットを操作したいと思います。 (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
//ジョナス
replace を使用します
In [126]: df.replace(['very bad', 'bad', 'poor', 'good', 'very good'],
[1, 2, 3, 4, 5])
Out[126]:
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
data
があなたのpandas DataFrame
以下も使用できます。
data.replace({'very bad': 1, 'bad': 2, 'poor': 3, 'good': 4, 'very good': 5}, inplace=True)