У меня есть 2 кадра данных, res_params
и res_tStats
. Столбцы и индекс идентичны в обоих фреймах данных. Только значения в каждой строке и столбце (эквивалентно "ячейкам" в Excel, если хотите) отличаются друг от друга.
Мне нужно получить индекс строк и столбцов из res_tStats
фрейм данных, где abs(res_tStats) > 1.96
, а затем применить форматирование к тому же индексу и строкам в фрейме данных res_params
.
Что я сделал
# res_tStats is a NxM dataframe with shape (6, 4)
# res_params is a NXM dataframe with shape (6, 4)
idx_required = np.where(abs(res_tStats) > 1.96)
print(idx_required)
# output: array([0, 0, 0, 5, 5, 5, 5]), array([0, 2, 3, 0, 1, 2, 3]))
Пока все хорошо. Это дало мне правильные места для индекса, где abs(res_tStats) > 1.96
. Следующие значения действительно значимы:
строка 0, столбец 0
строка 0, столбец 2
строка 0, столбец 3
строка 5, столбец 0
строка 5, столбец 1
строка 5, столбец 2
строка 5, столбец 3
Теперь, когда я применяю эти местоположения индекса к res_params
, я ожидаю получить значения точно в тех же местоположениях индекса , Однако я не совсем понимаю.
Выполнение: res_params.iloc[idx_required]
возвращает df формы (7, 7).
Я дважды проверил, применив idx_required
к res_tStats
, ожидая получить только значения> 1,96, однако этого не произошло.
res_tStats.iloc[idx_required]
также возвращает df формы (7, 7) с некоторыми значениями внутри него, которые ниже 1,96