任意のベクトル (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