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.