У меня есть 2 кадра данных, res_params
и res_tStats
.
Столбцы и индекс идентичны в обоих кадрах данных, как и форма каждого df. Кадры данных идентичны во всех аспектах , за исключением значений в них .
Мне нужно преобразовать определенные значения в пределах res_params
из числа с плавающей запятой в str и добавить дополнительный текст (например, 3 звезды) *** "), Условно для логических значений, примененных к res_tStats
.
. Для этого мне сначала нужно получить индекс строк и столбцов из кадра данных res_tStats
, где abs(res_tStats) > 1.96
, а затем применить форматирование до того же индекса и строк во фрейме данных res_params
.
Пример
# res_tStats is a NxM dataframe with shape (6, 4) and 0 NaN
# res_params is a NXM dataframe with shape (6, 4) and 0 NaN
# Find values for res_tStats > 1.96 and get values within res_params for same index:
res_params_significant = res_params[np.abs(res_tStats) > 1.96]
res_params_significant
- это df с формой (6, 4) отображая значения res_params
, где np.abs(res_tStats) > 1.96
, и, что важно, NaN
в другом месте.
Теперь мне нужно, чтобы NaNs
в res_params_significant
было заполнено значениями в res_params
во всех индексах.
Или, иначе говоря, мне нужны значения для каждого индекса i
в пределах res_params
, где i == j
, такой, что j
является позицией индекса res_params_significant
со значением, НЕ равным NaN
. т.е. мне нужны значения в res_params
, которые равны не-NaN значениям в res_params_significant
. Затем преобразуйте каждое значение в индексе i == j
в строку и добавьте еще немного форматирования (например, 3 звезды (***)). Для i != j
либо оставьте все как есть, либо преобразуйте в строку без какого-либо дополнительного форматирования.
Имеет ли это смысл? Я чувствую, что слишком усложняю это ...
Любая помощь будет высоко ценится!