Code:
import pandas as pd
football = pd.read_csv("https://www.football-data.co.uk/mmz4281/2021/E0.csv")
Avgfootball = football[['AvgH', 'AvgD', 'AvgA']]
def implieddds(AvgH, AvgD, AvgA):
impliedH = (1/AvgH)/((1/AvgH) + (1/AvgD) + (1/AvgA))
impliedD = (1/AvgD)/((1/AvgH) + (1/AvgD) + (1/AvgA))
impliedA = (1/AvgA)/((1/AvgH) + (1/AvgD) + (1/AvgA))
Mar = ((1/AvgH) + (1/AvgD) + (1/AvgA))
return impliedH,impliedD,impliedA,Mar
new = Avgfootball.apply(implieddds)
Error:
TypeError: implieddds() missing 2 required positional arguments :
'AvgD' and 'AvgA'
TypeError Traceback(most recent call
last) < ipython - input - 2 - e74b2ed53649 > in <module>()
11 return impliedH, impliedD, impliedA, Mar
12
---> 13 new = Avgfootball.apply(implieddds)
3 frames / usr / local / lib / python3.6 / dist - packages / pandas / core / apply.py
in apply_series_generator(self)
303 for i, v in enumerate(series_gen) :
304 # ignore SettingWithCopy here in case the user mutates
-- > 305 results[i] = self.f(v)
306 if isinstance(results[i], ABCSeries) :
307 # If we have a view on v, we need to make a copy because
TypeError: implieddds() missing 2 required positional arguments :
'AvgD' and 'AvgA'