質問編集履歴
3
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,53 +1,8 @@
|
|
1
1
|
現在、pandasを使って以下のcsvファイルから行列を生成しようとしています。
|
2
|
-
|
2
|
+
|
3
|
-
現在は、下のコードでとりあえずinterfaceをindexとcolumnsに設定して
|
4
|
-
枠組みだけ生成できたので、あとは要素を入れていくのみです。
|
5
|
-
行列イメージのように、インターフェース同士、同じvlanIDであればそれを行列の要素として
|
6
|
-
挿入したいです。
|
7
3
|
どのようにするのが適切でしょうか。
|
8
4
|
道筋が全く想像つかず、困っています。
|
9
5
|
numpyなどを使った方がいいのでしょうか。
|
10
6
|
アドバイスを頂けると幸いです。
|
11
7
|
こういう順序で処理していくといいというような考え方でも参考になります。
|
12
|
-
宜しくお願い致します。
|
8
|
+
宜しくお願い致します。
|
13
|
-
|
14
|
-
※drop_duplicates()で削除したのでcsvは通し番号になっていないです。
|
15
|
-
※とりあえず、以下のようにcsvを出力していますが、vlanについては迷っています。
|
16
|
-
(Gi0/1のvlanが2つあり、カンマで区切れないためどうするか・・・。)
|
17
|
-
|
18
|
-
csvファイルは以下の通りです。
|
19
|
-
```csv
|
20
|
-
,interface,MAC,vlan
|
21
|
-
0,Gi0/1,aa:aa:aa:aa:aa:aa,100.200
|
22
|
-
3,Gi0/7,bb:bb:bb:bb:bb:bb,100
|
23
|
-
4,Gi0/5,cc:cc:cc:cc:cc:cc,200
|
24
|
-
5,Gi0/3,dd:dd:dd:dd:dd:dd,100
|
25
|
-
```
|
26
|
-
|
27
|
-
行列イメージ
|
28
|
-
|
29
|
-
||Gi0/1|Gi0/7|Gi0/5 |Gi0/3
|
30
|
-
|:--|:--:|--:|
|
31
|
-
|Gi0/1|0|100|200|100
|
32
|
-
Gi0/7 |100 | 0 | 0 | 100
|
33
|
-
Gi0/5 |200 | 0 | 0 | 0
|
34
|
-
Gi0/3 | 100 | 100 |0 |0
|
35
|
-
|
36
|
-
|
37
|
-
```python
|
38
|
-
(省略)
|
39
|
-
・・・
|
40
|
-
idx = df.interface
|
41
|
-
idx = list(idx)
|
42
|
-
df = df.reindex(index = idx, columns=idx, fill_value=0)
|
43
|
-
|
44
|
-
print(df)
|
45
|
-
|
46
|
-
#出力
|
47
|
-
× Gi0/1 Gi0/7 Gi0/5 Gi0/3
|
48
|
-
Gi0/1 0 0 0 0
|
49
|
-
Gi0/7 0 0 0 0
|
50
|
-
Gi0/5 0 0 0 0
|
51
|
-
Gi0/3 0 0 0 0
|
52
|
-
|
53
|
-
```
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -33,6 +33,7 @@
|
|
33
33
|
Gi0/5 |200 | 0 | 0 | 0
|
34
34
|
Gi0/3 | 100 | 100 |0 |0
|
35
35
|
|
36
|
+
|
36
37
|
```python
|
37
38
|
(省略)
|
38
39
|
・・・
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -30,8 +30,8 @@
|
|
30
30
|
|:--|:--:|--:|
|
31
31
|
|Gi0/1|0|100|200|100
|
32
32
|
Gi0/7 |100 | 0 | 0 | 100
|
33
|
-
Gi0/5 |200 | 0 | 0 |
|
33
|
+
Gi0/5 |200 | 0 | 0 | 0
|
34
|
-
Gi0/3 | 100 | 100 |
|
34
|
+
Gi0/3 | 100 | 100 |0 |0
|
35
35
|
|
36
36
|
```python
|
37
37
|
(省略)
|