получить значения в кадре данных вместо логического - PullRequest
0 голосов
/ 02 марта 2020

У меня есть данные расчетных расстояний, следующие:

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 и не равны нулю. не могли бы вы помочь?

Ответы [ 2 ]

1 голос
/ 02 марта 2020

Просто задайте условие для отображения значений на основе 0<result2<12

1 голос
/ 02 марта 2020

Пожалуйста, попробуйте

result[result < 12].fillna('Morethan12')

или

result[result < 12].unstack().fillna('Morethan12')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...