É possível armazenar arbitrariamente numpy
matrizes como os valores de um solteiro coluna em um dataframe de Pandas
?
As matrizes são todas bidimensionais e pretendo usá-las para calcular valores para outras colunas no mesmo dataframe.
Para fornecer algum contexto do que estou tentando fazer aqui:
Cada matriz é uma matriz de adjacência de algunsrede, e para cada rede eu quero calcular suas várias características (por exemplo, densidade, centralidades, coeficiente de clustering, etc) que são de fato outras colunas no mesmo dataframe.
Respostas:
13 para resposta № 1Armazene-os como elementos como faria para qualquer outro dado:
import numpy as np
import pandas as pd
a = np.arange(10).reshape(2,5)
b = np.arange(10, 20).reshape(2,5)
pd.DataFrame({"foo":[42,51], "arr":[a,b]})
Out[10]:
arr foo
0 [[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]] 42
1 [[10, 11, 12, 13, 14], [15, 16, 17, 18, 19]] 51
Note que o que você tenta fazer soa mais para usar um Panel
.
1 para resposta № 2
O que quer dizer armazenar matrizes arbitrárias numpy como os valores de uma coluna em um dataframe de Pandas?
Algo assim?
import numpy as np
import pandas as pd
x = np.random.randn(50, 25)
random_frame = pd.DataFrame(x)
Isto irá armazenar a matriz x em um DataFrame, onde os nomes das colunas são 0, 1, 2, 3 ... Você poderia esclarecer? Eu acho que isso é mais um comentário, mas eu não sei se posso comentar ainda.