2024-04-26 23:20:36 发布
网友
我有一个pandas数据框,其中N列表示向量的坐标(例如X、Y、Z,但可以大于3D)。
我想用任意组合列的函数(例如norm:(X^2 + Y^2 + Y^2))来聚合数据帧。
(X^2 + Y^2 + Y^2)
我想做一些类似于here和here和here的事情,但是我想保持它的通用性,使列的数量可以更改,并且它的行为类似于
DataFrame.mean(axis = 1)
或者
DataFrame.sum(axis = 1)
按名称筛选列
cols = ['X','Y','Z'] df[cols].mean(axis=1) df[cols].sum(axis=1) df[cols].apply(lambda values: sum([v**2 for v in values]), axis=1)
我找到了比@elyase建议的更快的解决方案:
np.sqrt(np.square(df).sum(axis=1))
纽比提供了规范。。。使用:
np.linalg.norm(df[['X','Y','Z']].values,axis=1)
按名称筛选列
我找到了比@elyase建议的更快的解决方案:
纽比提供了规范。。。使用:
相关问题 更多 >
编程相关推荐