获取数据帧中的值,而不是布尔值

我有一个计算距离的数据帧,如下所示,


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         12

0    0.000000  16.132750  33.039985  ...  17.628989  27.273213  20.898938

1   16.132750   0.000000  16.912458  ...  16.658800  17.480346  25.375308

2   33.039985  16.912458   0.000000  ...  27.985766  19.625398  37.343842

3   10.140420  25.301309  41.896450  ...  20.173079  32.241763  18.523634

4    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     12

0    True  False  False   True   True  ...  False  False  False  False  False

1   False   True  False  False   True  ...  False  False  False  False  False

2   False  False   True  False  False  ...   True  False  False  False  False

3    True  False  False   True  False  ...  False   True  False  False  False

4    True   True  False  False   True  ...  False  False   True  False  False

其中我只想要小于12且不等于零的值。你能帮忙吗?


胡子哥哥
浏览 112回答 2
2回答

幕布斯6054654

只需给出条件以显示基于以下值的值0<result2<12

德玛西亚99

请尝试result[result&nbsp;<&nbsp;12].fillna('Morethan12')或result[result&nbsp;<&nbsp;12].unstack().fillna('Morethan12')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python