我有一个计算距离的数据帧,如下所示,x_y_data = pd.read_csv("x_y_points400_labeled_20pnts_csv.csv")x = x_y_data.loc[:,'x']y = x_y_data.loc[:,'y']xs=x.to_numpy()ys=y.to_numpy()result = pd.DataFrame(np.sqrt((xs[:, None] - xs)**2 + (ys[:, None] - ys)**2))我得到所有距离的结果, 0 1 2 ... 10 11 120 0.000000 16.132750 33.039985 ... 17.628989 27.273213 20.8989381 16.132750 0.000000 16.912458 ... 16.658800 17.480346 25.3753082 33.039985 16.912458 0.000000 ... 27.985766 19.625398 37.3438423 10.140420 25.301309 41.896450 ... 20.173079 32.241763 18.5236344 9.368331 9.228014 25.210365 ... 10.518585 18.039020 17.464249现在,当我只想获取小于12的数据帧的值(通过简单地添加)时,我得到布尔值的表,result2=result<12 result2: 0 1 2 3 4 ... 8 9 10 11 120 True False False True True ... False False False False False1 False True False False True ... False False False False False2 False False True False False ... True False False False False3 True False False True False ... False True False False False4 True True False False True ... False False True False False其中我只想要小于12且不等于零的值。你能帮忙吗?
2 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
请尝试
result[result < 12].fillna('Morethan12')
或
result[result < 12].unstack().fillna('Morethan12')
添加回答
举报
0/150
提交
取消