質問編集履歴

1

サンプルコードを追記しました

2022/05/15 03:29

投稿

oserotto
oserotto

スコア1

test CHANGED
File without changes
test CHANGED
@@ -1 +1,32 @@
1
1
  Pythonで文字列を数値ベクトルに変換する方法が分かりません。例えばA → 2, 4, 6, 8, 10というように文字を数値ベクトルに変換したいです。replace関数でA → 2の1次元変換はできましたが、多次元への変換はできませんでした。
2
+
3
+ (追記)
4
+ 質問文が分かりづらく大変恐縮です。下記のようにGやA(アルファベット大文字)を[2,4,6,8,10]などの5次元の数値ベクトルに変換したいのですが、replaceではエラーが出てしましました。上手く変換できればデータセットの[G,G,G,G]が5×4の数値行列、もしくは1次元にして1×20の行列になるイメージです
5
+
6
+ ```
7
+ dataset = pd.read_csv('X.csv', index_col=0, header=0)
8
+ print(dataset)
9
+
10
+ ###
11
+ 1 2 3 4
12
+ 1 G G G G
13
+ 2 G G A A
14
+
15
+
16
+ dataset.replace = dataset.replace('G',2).replace('A', 3)
17
+ df = pd.DataFrame(dataset.replace)
18
+ print(df)
19
+
20
+ ###
21
+ 1 2 3 4
22
+ 1 2 2 2 2
23
+ 2 2 2 3 3
24
+
25
+
26
+ dataset.replace = dataset.replace('G',2,4,6,8,10).replace('A', 3.2, 5.5, 7.6, 9.7, 11.1)
27
+ df = pd.DataFrame(dataset.replace)
28
+ print(df)
29
+
30
+ # NameError: name 'pd' is not definedここに言語を入力
31
+ コード
32
+ ```