【发布时间】:2018-09-28 03:48:44
【问题描述】:
给定一个具有 4 个特征和 1 个索引列的 DF:
df = pd.DataFrame(np.random.randint(0,100, size= (100,4)), columns=list('ABCD'))
df['index'] = range(1, len(df) + 1)
我想根据用户的输入计算曼哈顿距离。用户的输入将由 a,b,c,d 表示。函数定义如下。
def Manhattan_d(a,b,c,d):
return (a - df['A']) + (b -df['B']) + (c - df['C']) + (d - df['D'])
当答案返回给我时,它会以列表的形式出现。现在,我想找到返回给我的最小值并将其链接回索引号。
如果我执行 return(min(formula)),我会得到一个数字的输出,但我无法将它定位回原来的索引。如果它更容易,索引代表一个类别。所以我需要在应用公式后找到输出最小的类别。
希望这很清楚。
【问题讨论】:
-
由于你的函数Manhattan_d返回一个序列,你可以使用Manhattan_d(a,b,c,d).idxmin()来获取最小值的索引
标签: python pandas machine-learning similarity