No, you cannot get the address of the sender from ZeroMq. You basically have two choices; add the senders address information to the message itself (not a bad option if you are allowed to modify existing message structures) or add the sender address as a message part, i.e. use ZeroMq multi-part messages.
A multi-part message will still be delivered as a whole (all parts or not at all), but you can extract the parts individually at the receiving end, thus you can append or prepend the sender address to any existing messages without actually touching them (and still deliver both address + message as an atomic operation).
I am not sure how this is implemented in the pyzmq binding, but check out the socket.pyx source for details (basically, use the SNDMORE flag in the send(..) method).
Also, have a look at the ZeroMq zmq_send() Api docs (3.2.2).
In C++, it would look something like this:
// Send a multi-part message consisting of sender IP plus another message
zmq_msg_send (&my_ip, my_socket, ZMQ_SNDMORE);
zmq_msg_send (&my_message, my_socket, 0);