gpt4 book ai didi

Python数据帧向量范数高效

转载 作者:行者123 更新时间:2023-12-01 00:17:30 24 4
gpt4 key购买 nike

我想计算数据帧的每一行的范数(即欧几里德距离中向量的长度)。我知道像 mean()sum() 这样的函数存在,但没有 norm() 。所以我尝试自己实现它

df.apply(lambda values: math.sqrt(sum([v**2 for v in values])), axis=1)

但这与例如相比确实很慢求和函数。是否有一个简单(且快速)的 pandas 实现?

最佳答案

当然,在这里使用numpy:

In [1]: import pandas as pd, numpy as np

In [2]: df = pd.DataFrame(data=[[1,2,3],[4,5,6]], columns=['a','b','c'])

In [3]: np.linalg.norm(df, axis=1)
Out[3]: array([3.74165739, 8.77496439])

关于Python数据帧向量范数高效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59219466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com