Dec-17-2019, 01:29 PM
I have a simple code as below
import pandas as pd
matrix = [(222, 34, 23),
(333, 31, 11),
(444, 16, 21),
(555, 32, 22),
(666, 33, 27),
(777, 35, 11)
]
# Create a DataFrame object
dfObj = pd.DataFrame(matrix, columns=list('abc'))
def doubleData(x):
print(x)
return x * 2
modDfObj=dfObj.apply(doubleData)I this code I am using .apply function to dfObj. Since by default axis = 0, I am transferring my 3 columns one by one as series to function doubleData. But when I print the columns I am sending to function as a series, print(x) in doubleData gets executed 4 times. I check the output and found that first column is printing 2 times. This is strange to me since each column should be send to function only once.
