On 2021-10-31 17:25, Shaozhong SHI wrote:
I defined a function and apply it to a column in Pandas. But it does not
return correct values.
I am trying to test which url in a column full of url to see which one can
be connected to or not
def connect(url):
try:
urllib.request.urlopen(url)
return True
except:
return False
df['URL'] = df.apply(lambda x: connect(df['URL']), axis=1)
I ran without any error, but did not return any true.
I just could not find any error with it.
Can anyone try and find out why
You're passing a function to '.apply'. That has one argument,' x'.
But what is the function doing with that argument?
Nothing.
The function is just returning the result of connect(df['URL']).
df['URL'] is a column, so you're passing a column to '.urlopen', which,
of course, it doesn't understand.
So 'connect' returns False.
--
https://mail.python.org/mailman/listinfo/python-list