Записать номер итерации в функцию в df.apply () - PullRequest
0 голосов
/ 20 февраля 2020

Я хотел бы добавить значения в столбец DataFrame с помощью df.apply (). Значения - это индекс, умноженный на 6.

import pandas as pd

# make a simple dataframe
df = pd.DataFrame({"a": [1, 2, 3, 4, 5, 6, 7, 8, 9], "b": [3, 4, 4, 5, 6, 7, 8, 9, 1]})
print(df)


def func(i):
    return 6 * i


# create an unattached column with an index
df.apply(lambda row: row.a + row.b, axis=1)

df["d"] = df.apply(lambda i: func(i), axis=1)

print(df)

Однако я получаю следующую ошибку:

ValueError: Wrong number of items passed 2, placement implies 1

Может ли кто-нибудь мне помочь и объяснить, почему я получаю эту ошибку. Я знаю, что это очень простой пример, и на pd.df.apply() есть множество постов и учебных пособий, но почему-то я не могу получить эту работу.

...