基于数据帧ds
的选择d
,具有:
{ 'x': d.x, 'y': d.y, 'a':d.a, 'b':d.b, 'c':d.c 'row:d.n'})
有n
行,x
范围从0
到n-1
。列n
是必需的,因为它是一个选择,需要保留索引以备以后查询。你知道吗
如何有效地计算每列(a, b, c
)的每一行(例如a_0, a_1, etc
)之间的差异而不丢失行信息(例如,使用的行的索引的新列)?你知道吗
MWE
样本选择ds
:
x y a b c n
554.607085 400.971878 9789 4151 6837 146
512.231450 405.469524 8796 3811 6596 225
570.427284 694.369140 1608 2019 2097 291
期望输出:
dist
欧氏距离math.hypot(x2 - x1, y2 - y1)
da, db, dc
对于da: np.abs(a1-a2)
ns
包含所用行的两个n
的字符串
结果如下:
dist da db dc ns
42.61365102824963 993 340 241 146-225
293.82347069813255 8181 2132 4740 146-291
.. .. .. .. 225-291
可以使用
itertools.combinations()
生成对:先读取数据:
创建索引并计算结果:
输出:
这种方法很好地利用了Pandas和底层numpy功能,但是矩阵操作有点难以跟踪:
这将提供:
相关问题 更多 >
编程相关推荐