Как отметил @FelixKling, наиболее вероятным сценарием является то, что узлы, которые вы ищете, еще не существуют.
Однако современные методы разработки часто могут манипулировать элементами документа за пределами дерева документов либо с DocumentFragments, либо просто отсоединением / повторным подключением текущих элементов напрямую. Такие методы могут использоваться как часть шаблонов JavaScript или для предотвращения чрезмерных операций перерисовки / переплавки, в то время как элементы, о которых идет речь, сильно изменяются.
Аналогично, новая функциональность «Теневой DOM» развертывается в современных браузерах позволяет элементам быть частью документа, но не обрабатываться запросом document.getElementById и всеми его методами sibling (querySelector и т. д.). Это делается для инкапсуляции функциональных возможностей и, в частности, скрыть его.
Опять же, скорее всего, элемент, который вы ищете, просто (пока) в документе, и вы должны сделать, как предлагает Феликс , Тем не менее, вы также должны знать, что это все чаще является не единственной причиной того, что элемент может быть необоснованным (временно или постоянно).
Мне немного больше нравится функция выживания (вероятность верхнего хвоста) нормального распределения, потому что имя функции более информативно:
p_values = scipy.stats.norm.sf(abs(z_scores)) #one-sided
p_values = scipy.stats.norm.sf(abs(z_scores))*2 #twosided
нормальное распределение "norm" является одним из примерно 90 распределений в scipy.stats
norm.sf также вызывает соответствующую функцию в scipy.special, как в примере gotgenes
, небольшое преимущество функции выживания, sf: числовая точность должна быть лучше для квантилей, близких к 1, чем при использовании cdf
p_value = scipy.stats.norm.pdf(abs(z_score_max)) #one-sided test
p_value = scipy.stats.norm.pdf(abs(z_score_max))*2 # two - sided test
функция плотности вероятности (PDF) функция в урожаях Python оценивает p-значения, которые оттянуты из таблицы z-счета в книге статистики введения/AP.
Aha! I found it: scipy.special.ndtr
! Похоже, что это также находится под scipy.stats.stats.zprob
(который является просто указателем на ndtr
).
В частности, учитывая одномерный numpy.array
экземпляр z_scores
, можно получить p-значения как
p_values = 1 - scipy.special.ndtr(z_scores)
или альтернативно
p_values = scipy.special.ndtr(-z_scores)