one of your gearsets is empty or has an empty item in it что делать
Cannot stop getting «One of your gearsets is empty or has an empty item in it» #127
Comments
maikul222 commented Jun 1, 2019 •
Used it without issue yesterday. There has been no changes or updates to the addon since then. Here is what simC has been giving me that is causing this to come up. You can also armory me as Tohtoh
The text was updated successfully, but these errors were encountered:
seriallos commented Jun 1, 2019
If your goal is a simple sim without changing items around, switch from the Gear Compare tool to the Quick Sim tool using the navigation near the top of the page:
maikul222 commented Jun 1, 2019
No my goals are to compare items in my bag.
seriallos commented Jun 1, 2019
Top Gear is the easiest for comparing item you already have.
If you’re still having issues using Gear Compare, please provide a screenshot or a filled out page that is showing an error. Make sure you scroll down and add something to the «Compare Sets of Gear» section:
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Истинность ряда неоднозначна. Используйте a.пусто, А. bool (), a.пункт (), a.любой() или a.все()
4 ответов
они перегружены для такого рода datastructures, чтобы дать элемент-мудрый or (или and ).
просто чтобы добавить еще несколько объяснений к этому утверждению:
исключение выдается, когда вы хотите получить bool а pandas.Series :
в вашем случае исключение не очень полезно, потому что оно не упоминает право альтернативы. Для and и or вы можете использовать (если хотите поэлементные сравнения):
или просто | оператор:
или просто & оператор:
если вы используете операторы, убедитесь, что вы правильно установили скобки из-за приоритет оператора.
если вы хотите проверить, является ли ваша серия пустой:
если Series содержит один и только один логическое значение:
если вы хотите проверить, если все или любой item is not-zero, not-empty or not-False:
чтобы увидеть, что происходит, вы получаете столбец логических значений для каждого сравнения, например,
когда у вас есть несколько критериев, вы получите несколько столбцов, возвращаемых. Вот почему логика соединения неоднозначна. Используя and или or обрабатывает каждый столбец отдельно, поэтому сначала вам нужно уменьшить этот столбец до одного логического значения. Например, чтобы увидеть, есть ли какое-либо значение или все значения в каждом из столбцы-это истина.
один извилистый способ достичь того же самого-застегнуть все эти столбцы вместе и выполнить соответствующую логику.
для получения дополнительной информации см. Логическое Индексации в документации.
или, альтернативно, вы можете использовать модуль оператора. Более подробная информация здесь Python docs
это отличный ответ очень хорошо объясняет, что происходит, и предоставляет решение. Я хотел бы добавить еще одно решение, которое может быть подходящим в подобных случаях: используя query способ:
(некоторые тесты с фреймом данных, с которым я сейчас работаю, предполагают, что этот метод немного медленнее, чем использование побитовые операторы на рядах булевых: 2 мс против 870 МКС)
я получил следующее исключение каскад:
Я думаю, это произошло потому, что анализатор запросов пытался сделать что-то из первых двух столбцов вместо идентификации выражения с именем третьего столбца.
Как проверить HTML валидацию сайта — основные ошибки
Разделы блога
Проверка валидности HTML кода сайта обязательно входит в мой технический аудит. Но не нужно переоценивать значимость ошибок валидации на SEO продвижение — она очень мала. По любой тематике в ТОП будут сайты с большим количеством таких ошибок и прекрасно себе живут.
НО! Отсутствие технических ошибок на сайте является фактором ранжирования, и поэтому пренебрегать такой возможностью не стоит. Лучше исправить, хуже точно не будет. Поисковики увидят ваши старания и дадут маленький плюсик в карму.
Как проверить сайт на валидность HTML кода
Проверяется валидация кода сайта с помощью онлайн сервиса W3C HTML Validator. Если есть ошибки, то сервис выдает вам список. Сейчас я разберу самые распространенные типы ошибок, которые я встречал на сайтах.
И за этой ошибкой такое предупреждение.
Это значит, что дублируется стилевой идентификатор ID, который по правилам валидности html должен быть уникальным. Вместо ID для повторяющихся объектов можно использовать CLASS.
Исправлять это желательно, но не очень критично. Если очень много таких ошибок, то лучше исправить.
Аналогично могут быть еще такие варианты:
Следующее очень распространенное предупреждение.
Это очень частая ошибка при проверке валидации сайта. По правилам HTML5 атрибут type для тега script не нужен, это устаревший элемент.
Аналогично такое предупреждение для стилей:
Исправлять эти предупреждения желательно, но не критично. При большом количестве лучше исправить.
Это предупреждение показывает, что нельзя увеличить размер страницы на мобильном или планшете. То есть пользователь захотел посмотреть поближе картинки или очень маленький текст и не может этого сделать.
Я считаю это предупреждение очень нежелательным, для пользователя неудобно, это минус к поведенческим. Устраняется удалением этих элементов — maximum-scale=1.0 и user-scalable=no.
Это микроразметка, атрибут itemprop должен находиться внутри элемента с itemscope. Я считаю эту ошибку не критичной и можно оставлять как есть.
Строка about:legacy-compat нужна только для html-генераторов. Здесь нужно просто сделать но ошибка совсем не критичная.
Если посмотреть в коде самого сайта и найти этот элемент, видно, что одиночный тег прописан как парный — это не верно.
Все картинки должны иметь атрибут alt, я считаю эту ошибку критичной, ее нужно исправлять.
Аналогично могут быть еще такие ошибки:
Это все нужно исправлять.
Атрибут http-equiv не предназначен для элемента meta, нужно убрать его или заменить.
Здесь также нужно или убрать атрибуты n2-lightbox, asyncsrc, price, hashstring или заменить их на другие варианты.
В данном случае здесь не должно быть точки с запятой после скобки в стилях.
Ну такая ошибка, мелочь, но не приятно) Смотрите сами, нужно убирать это или нет, на продвижение сайта никакой совершенно роли не окажет.
В скриптах уже не нужно прописывать кодировку, это устаревший элемент. Предупреждение не критичное, на ваше усмотрение.
В этой ошибке нужно убрать из скрипта атрибут charset=»uft-8″, так как он показывает кодировку вне скрипта. Я считаю, эту ошибку нужно исправлять.
Здесь пустой заголовок h1. Нужно удалить теги
Тег br одиночный, а сделан как будто закрывающий парный. Нужно убрать / из тега.
Это спецсимволы HTML, правильно нужно писать © или ©. Лучше эту ошибку исправить.
Это серьезная ошибка:
После ничего вообще не должно быть, так как это последний закрывающий тег страницы. Нужно удалять все, что после него или переносить выше.
Нужно значение в px написать:
Вот аналогичная ошибка:
— это парный тег, а здесь он не закрыт, соответственно, нужно закрыть. Ошибку исправлять.
Здесь отсутствие закрывающего тега нарушает правила вложенности, откуда идет уже фатальная ошибка.
Это частный случай, так конечно нужно смотреть индивидуально.
Элемент bdi не поддерживается во всех браузерах, лучше использовать стили CSS, если нужно изменить направления вывода текста. Это не критичное предупреждение.
Здесь 2 раза указана кодировка:
Нужно убрать в начале. Ошибку лучше исправить.
Здесь запрещены пробелы для атрибута href, нужно писать так — callto:74732632206. Ошибку лучше исправить, но не критично.
И аналогичная ошибка:
В данных случаях для max-width: и max-height: не поддерживается свойство auto. Должно быть конкретное значение в px, % и других единицах измерения для CSS. В целом, эти ошибки не критичные.
Атрибут label должен относиться к фрагменту id с идентификатором «control-label». То есть нужно в код формы вставить кусок Тоже ошибка не критичная.
Кодировка windows-1251 уже устарела, сейчас везде используется utf-8. По хорошему нужно делать сайт изначально на utf-8, иначе он или отдельные страницы могут отображаться кракозябрами. Но это не критичная ошибка. Если у вас с сайтом все ок, то можно оставить, как есть.
Вот еще похожая ошибка:
Для атрибута content кодировка должна быть utf-8. Смотрите сами, хотите исправлять это или нет, не критично.
Заключение
После того, как сделана полная проверка, я составляю файл с грубыми ошибками и передаю его моим программистам или технической поддержке клиента. Кстати, почитайте интересную историю, как я искал себе программиста.
Итак, теперь вы знаете, как проверить валидацию сайта с помощью онлайн сервиса W3C HTML Validator, но как я сказал валидность кода далеко не самый важный фактор ранжирования, скорее всего после исправления ошибок вы не заметите существенной разницы в позициях или трафике сайта. Но я считаю, что все равно нужно привести сайт в порядок, и надеюсь, моя статья вам в этом помогла.
Сергей Моховиков
Здравствуйте! Я специалист по продвижению сайтов в поисковых системах Яндекс и Google. Веду свой блог и канал на YouTube, где рассказываю самые эффективные технологии раскрутки сайтов, которые применяю сам в своей работе.
Truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()
11 Answers 11
These are overloaded for these kind of datastructures to yield the element-wise or (or and ).
Just to add some more explanation to this statement:
The exception is thrown when you want to get the bool of a pandas.Series :
In your case the exception isn’t really helpful, because it doesn’t mention the right alternatives. For and and or you can use (if you want element-wise comparisons):
or simply the | operator:
or simply the & operator:
If you’re using the operators then make sure you set your parenthesis correctly because of the operator precedence.
If you want to check if your Series is empty:
If your Series contains one and only one boolean value:
If you want to check if all or any item is not-zero, not-empty or not-False:
Well pandas use bitwise & | and each condition should be wrapped in a ()
For example following works
But the same query without proper brackets does not
To see what is happening, you get a column of booleans for each comparison, e.g.
When you have multiple criteria, you will get multiple columns returned. This is why the join logic is ambiguous. Using and or or treats each column separately, so you first need to reduce that column to a single boolean value. For example, to see if any value or all values in each of the columns is True.
One convoluted way to achieve the same thing is to zip all of these columns together, and perform the appropriate logic.
For more details, refer to Boolean Indexing in the docs.
Or, alternatively, you could use Operator module. More detailed information is here Python docs
This excellent answer explains very well what is happening and provides a solution. I would like to add another solution that might be suitable in similar cases: using the query method:
(Some tests with a dataframe I’m currently working with suggest that this method is a bit slower than using the bitwise operators on series of booleans: 2 ms vs. 870 µs)
I obtained the following exception cascade:
I guess this happened because the query parser was trying to make something from the first two columns instead of identifying the expression with the name of the third column.
How to check if array is empty or does not exist? [duplicate]
What’s the best way to check if an array is empty or does not exist?
Something like this?
1 Answer 1
You want to do the check for undefined first. If you do it the other way round, it will generate an error if the array is undefined.
Update
This answer is getting a fair amount of attention, so I’d like to point out that my original answer, more than anything else, addressed the wrong order of the conditions being evaluated in the question. In this sense, it fails to address several scenarios, such as null values, other types of objects with a length property, etc. It is also not very idiomatic JavaScript.
The foolproof approach
Taking some inspiration from the comments, below is what I currently consider to be the foolproof way to check whether an array is empty or does not exist. It also takes into account that the variable might not refer to an array, but to some other type of object with a length property.
The pragmatic approach
In a lot of cases, the above might seem like overkill. Maybe you’re using a higher order language like TypeScript that does most of the type-checking for you at compile-time, or you really don’t care whether the object is actually an array, or just array-like.
In those cases, I tend to go for the following, more idiomatic JavaScript:
Or, more frequently, its inverse:
With the introduction of the optional chaining operator (Elvis operator) in ECMAScript 2020, this can be shortened even further:














































