回答編集履歴
5
説明文を修正。
answer
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
予め特定の要素数(`
|
|
1
|
+
予め特定の要素数(`A[0]`の要素数+`B[0]`の要素数)を持つnumpy配列`C`を作成します。次にデータフレーム`B`で指定されていないインデックスの値をデータフレームAの値に入れ換えます。
|
|
2
|
-
ここで、欠損の要素数とデータフレームAの行数が一致していない場合はエラーになることに留意してください。
|
|
3
2
|
|
|
4
3
|
```python
|
|
5
4
|
import numpy as np
|
4
少し修正
answer
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
A = pd.read_csv("A.csv",header=None)
|
|
9
9
|
B = pd.read_csv("B.csv",header=None)
|
|
10
10
|
|
|
11
|
-
C = np.zeros(B[0].
|
|
11
|
+
C = np.zeros(A[0].size + B[0].size)
|
|
12
12
|
C[~np.isin(range(C.size), B[0])] = A[0]
|
|
13
13
|
|
|
14
14
|
np.savetxt("C.csv", C, delimiter=",", fmt="%g")
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
A = pd.read_csv("A.csv",header=None)
|
|
26
26
|
B = pd.read_csv("B.csv",header=None)
|
|
27
27
|
|
|
28
|
-
C = pd.DataFrame(0, index=range(B[0].
|
|
28
|
+
C = pd.DataFrame(0, index=range(A[0].size + B[0].size), columns=[0])
|
|
29
29
|
C.loc[~C.index.isin(B[0]), 0] = A[0].to_numpy()
|
|
30
30
|
|
|
31
31
|
np.savetxt("C.csv", C[0], delimiter=",", fmt="%g")
|
3
answer
CHANGED
|
@@ -8,9 +8,8 @@
|
|
|
8
8
|
A = pd.read_csv("A.csv",header=None)
|
|
9
9
|
B = pd.read_csv("B.csv",header=None)
|
|
10
10
|
|
|
11
|
-
num = B[0].max() + 1
|
|
12
|
-
C = np.zeros(
|
|
11
|
+
C = np.zeros(B[0].max()+1)
|
|
13
|
-
C[~np.isin(range(
|
|
12
|
+
C[~np.isin(range(C.size), B[0])] = A[0]
|
|
14
13
|
|
|
15
14
|
np.savetxt("C.csv", C, delimiter=",", fmt="%g")
|
|
16
15
|
```
|
2
Pandasで処理を行う場合を追記
answer
CHANGED
|
@@ -14,3 +14,20 @@
|
|
|
14
14
|
|
|
15
15
|
np.savetxt("C.csv", C, delimiter=",", fmt="%g")
|
|
16
16
|
```
|
|
17
|
+
|
|
18
|
+
**追記**
|
|
19
|
+
|
|
20
|
+
以下は、上記と同じ処理をPandasで行う場合です。
|
|
21
|
+
|
|
22
|
+
```python
|
|
23
|
+
import numpy as np
|
|
24
|
+
import pandas as pd
|
|
25
|
+
|
|
26
|
+
A = pd.read_csv("A.csv",header=None)
|
|
27
|
+
B = pd.read_csv("B.csv",header=None)
|
|
28
|
+
|
|
29
|
+
C = pd.DataFrame(0, index=range(B[0].max()+1), columns=[0])
|
|
30
|
+
C.loc[~C.index.isin(B[0]), 0] = A[0].to_numpy()
|
|
31
|
+
|
|
32
|
+
np.savetxt("C.csv", C[0], delimiter=",", fmt="%g")
|
|
33
|
+
```
|
1
データフレームAの値に入れ替える箇所をnp.isin()で特定する様に変更
answer
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
予め特定の要素数(`B[0]`の最大値+1)を持つnumpy配列`C`を作成します。次にデータフレーム`B`
|
|
1
|
+
予め特定の要素数(`B[0]`の最大値+1)を持つnumpy配列`C`を作成します。次にデータフレーム`B`で指定されていないインデックスの値をデータフレームAの値に入れ換えます。
|
|
2
|
-
ここで、欠損の要素数とデータフレーム
|
|
2
|
+
ここで、欠損の要素数とデータフレームAの行数が一致していない場合はエラーになることに留意してください。
|
|
3
3
|
|
|
4
4
|
```python
|
|
5
5
|
import numpy as np
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
A = pd.read_csv("A.csv",header=None)
|
|
9
9
|
B = pd.read_csv("B.csv",header=None)
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
num = B[0].max() + 1
|
|
12
|
-
C
|
|
12
|
+
C = np.zeros(num)
|
|
13
|
-
C[np.
|
|
13
|
+
C[~np.isin(range(num), B[0])] = A[0]
|
|
14
14
|
|
|
15
|
-
np.savetxt("C.csv", C, delimiter=",", fmt="%
|
|
15
|
+
np.savetxt("C.csv", C, delimiter=",", fmt="%g")
|
|
16
16
|
```
|