将数据帧中的列转换为矩阵Aij

2024-09-28 03:17:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在努力解决一个问题。你知道吗

我有下面的数据集,我试着从Atom\u combine列创建一个矩阵,比如:

____|N16|CA16|C16| ... |C18|O18|N19
N16
CA16
C16
...
C18
O18
N19_______________________________

请给我一个例子或说明我应该从哪里开始?你知道吗

每个交点最终将是每个原子之间的距离(距离=sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2))。你知道吗

我设法完成了距离的概念证明计算,但找不到创建矩阵的方法。。。你知道吗

sample dataset


Tags: 数据距离矩阵sqrt例子atom原子combine
1条回答
网友
1楼 · 发布于 2024-09-28 03:17:45

我想您可以使用cdist来查找距离矩阵(数组)。你知道吗

from scipy.spatial.distance import cdist
import numpy as np

X = np.array([[0, 1, 0], [1, 0, 1], [2, 1, 2]])
D = cdist(X, X, metric='euclidean') # your distance matrix

例如,数组XX = np.array(df[['x_coord', 'y_coord', 'z_coord']]),其中df是数据帧。您可以使用Atom_combine作为对应的索引和列转换为dataframe

Df = pd.DataFrame(D, index=list(df['Atom_combine']), columns=list(df['Atom_combine']))

相关问题 更多 >

    热门问题