Как работает DP., где работает Callables в аргументе?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как работает DP., где работает Callables в аргументе?

Сообщение Anonymous »

Основы использования Pandas , где с Callables кажется простым.

df = pd.DataFrame(np.random.randn(8, 4), columns=['A', 'B', 'C', 'D'])
df["test"] = range(1,9)

def MyBool(x):
print(1)
return ( x > 0 )

def MyFunc(x1):
print(1)
return x1['A']

df.where(
cond = lambda x: MyBool(x),
other = lambda x: MyFunc(x) ,
)
< /code>
В приведенном выше коде я заменяю значения всех столбцов значением столбца A всякий раз, когда значение COL меньше 0. Примечание, я знаю, что мне не нужно Для использования Callables для этого простого примера. < /p>
На основании моего анализа это то, что происходит под капотом. Аргумент - сам DF. Это возвращает 8x1 df (= a) < /p>
Во -вторых, оценивается Mybool, который возвращает Boolean df. < /P>
(не уверен в Этот последний шаг) Для всех записей (i, j), где Mybool вернул false, значение IT ряд вывода MyFunc используется для замены текущего значения DF.
Это приводит меня к моему вопросу < /strong>: как это распространяется на случаи, когда MyFunc возвращает DataFrame с несколькими столбцами и рядами? Как функция определяет, какие записи необходимо заменить, а с какими значениями? Код, который я предоставил ниже, работает, но я не совсем понимаю, как он определяет, какие записи должны быть заменены, а с какими значениями. DataFrame. Если предыдущая логика, которую я объяснил, была правильной, то разве она не должна заменить каждую ложную запись на DataFrame? Действительно, если бы это было так, полученное в результате данные о данных должны быть больше, чем входной df. < /P>
Я читал документацию и играл с разными примерами, но не могу понять это . < /p>
def MyBool(x):
output = x.test != 5
return output

def MyFunc(x1):
x1.loc[ x1.test == 5, ["B", "C"] ] /= 2
return x1

df.where(
cond = lambda x: MyBool(x),
other = lambda x: MyFunc(x.copy()),
axis = 0
)


Подробнее здесь: https://stackoverflow.com/questions/794 ... ument-work
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как Pd.where работает с Callables в качестве параметров?
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Как Pd.where работает с Callables в качестве параметров?
    Anonymous » » в форуме Python
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Написание декоратора Добавление Callables Принимая объекты общего типа в список экземпляров
    Гость » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Гость
  • Typling.union позволяет создавать Callables в качестве аргументов типа
    Anonymous » » в форуме Python
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Это новый способ передать Callables? [дублировать]
    Anonymous » » в форуме Php
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»