I have a list that looks like this :
[['a', 'b', 100], ['b', 'c', 200], ['c', 'd', 300]]
And what I want to do is to convert this into Dataframe where index and columns are ['a','b','c','d'] and what I want should look like this:
I have a list that looks like this :
[['a', 'b', 100], ['b', 'c', 200], ['c', 'd', 300]]
And what I want to do is to convert this into Dataframe where index and columns are ['a','b','c','d'] and what I want should look like this:
With this:
import pandas as pd
import numpy as np
values = [['a', 'b', 100], ['b', 'c', 200], ['c', 'd', 300]]
col_idx = ["a", "b", "c", "d"]
x = [ord(x) - 97 for x, _, _ in values]
y = [ord(y) - 97 for _, y, _ in values]
v = [v for _, _, v in values]
A = np.zeros((len(col_idx), len(col_idx)), dtype=np.int)
A[x, y] = v
df = pd.DataFrame(A.T + A, columns=col_idx, index=col_idx)
you will get df as:
| | a | b | c | d |
|:---|----:|----:|----:|----:|
| a | 0 | 100 | 0 | 0 |
| b | 100 | 0 | 200 | 0 |
| c | 0 | 200 | 0 | 300 |
| d | 0 | 0 | 300 | 0 |