PyDrive is a convenient wrapper for the Google Drive api, however it seems there are still some methods that don't work as expected.
Fortunately you can still access the underlying google drive api methods proposed here like so:
file_id = <file id>
new_parent = <new parent id>
files = drive.auth.service.files()
file = files.get(fileId= file_id, fields= 'parents').execute()
prev_parents = ','.join(p['id'] for p in file.get('parents'))
file = files.update( fileId = file_id,
addParents = new_parent,
removeParents = prev_parents,
fields = 'id, parents',
).execute()
I just tested this, and if you're using the web UI, you will need to refresh the pages to see changes.
Note that a single file can have multiple parents, which can be pretty useful for things like jQuery galleries.