假设我得到了一个任意向量 (x,y,z)。我有一个具有相同类型变量的数据框。(x_i,y_i,z_i)
有没有一种好方法可以最小化数据框中所有行的距离(给定向量的每个分量的距离);我们在哪里最小化 df 列中的(相同类型的变量)?
我的目标是在向量最小化后返回向量的行。
假设您有一个向量v
和带有向量行的 DataFrame df
:
In [11]: v = pd.Series([2, 1, 0])
In [12]: df = pd.DataFrame([[1, 1, 1], [2, 2, 2]])
你可以拿他们的不同(即v_i - v
)
In [13]: df - v
Out[13]:
0 1 2
0 -1 0 1
1 0 1 2
以及它们的平方和:
In [14]: ((df - v) ** 2).sum(1)
Out[14]:
0 2
1 5
dtype: int64
其中最小的是最接近 的行向量v
:
In [15]: ((df - v) ** 2).sum(1).argmin()
Out[15]: 0
In [16]: df.loc[0]
Out[16]:
0 1
1 1
2 1
Name: 0, dtype: int64