аватар question@mail.ru · 01.01.1970 03:00

Что обозначает тильда в pandas?

Что значит в данном случае тильда?

df = df.loc[~non_numberic_profits]

В столбец non_numberic_profits были заданы строки, которые не отвечают типу данных float. То есть, не цифры, а какие-то буквы или символы.

Что в данном случае значит тильда? Какую функцию она выполняет?

После данной сроки последовала следующая строка кода `

df.profit = df.profit.apply(pd.to_numeric)

Как я понимаю, она преобразовывает именно в тип данных float. Но что она преобразовывает? Оставшиеся значения? Не совсем понимаю, что выполняет оператор тильда в данном случае.

аватар answer@mail.ru · 01.01.1970 03:00

Это операция not, которая часто применяется для инвертирования логических столбцов / значений.

:

Another common operation is the use of boolean vectors to filter the data. The operators are: | for or, & for and, and ~ for not.

Пример:

In [475]: s = pd.Series(np.random.choice([True, False], size=5))In [476]: sOut[476]: 0     True1     True2    False3     True4     Truedtype: boolIn [477]: ~sOut[477]: 0    False1    False2     True3    False4    Falsedtype: bool

UPD: что делает команда df = df.loc[~non_numberic_profits]:

данная команда фильтрует фрейм таким образом что выбираются только те строки фрейма для которых в соответствующей позиции non_numberic_profits стоит значение False.

NOTE: длина non_numberic_profits должна совпадать с длиной (числом строк) df.


UPD2: что делает команда df.profit = df.profit.apply(pd.to_numeric):

это не очень эффективный способ преобразовать все значения столбца к числовому типу данных int64 или float64.

Лучше это делать так:

df[""profit""] = pd.to_numeric(df[""profit""], errors=""coerce"")

Последние

Похожие