Есть ли способ, с помощью которого я могу заставить функцию автоматически распаковывать столбцы с помощью метода df.apply?
В идеале я ищу способ определить функцию, чтобы она автоматически распаковывалась независимо отколичество столбцов во фрейме данных и позволяет мне использовать имена столбцов в качестве переменных напрямую Что-то вроде
def func(*row):
print col1
or def func(**row)
print col1
вместе с df.apply(func, axis=1)
То, что я пробовал до сих пор и не сделалкак
def func(row):
col1, col2, col3 = row
df[col1, col2, col3].apply(func, axis=1)
Пример по запросу:
import pandas as pd
import numpy as np
grid = np.random.rand(5,2)
df = pd.DataFrame(grid, columns =['col1', 'col2'])
Учитывая это: я пытаюсь написать такую функцию, что
def multiply(x):
###This function definition does not obviously work. What im asking is a way to achieve similar functionality without me explicitly unpacking x to col1 and col2###
print col1
print col2
df.apply(multiply, axis=1)