質問編集履歴
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
|
+
```
|