On 2021-10-31 18:48, Shaozhong SHI wrote:
On Sunday, 31 October 2021, MRAB <pyt...@mrabarnett.plus.com> wrote: 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. Please expand on how.
It's as simple as passing 'connect' to '.apply' as the first argument. -- https://mail.python.org/mailman/listinfo/python-list