<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def event_availability_array(events):
 """ Return a numpy array mapping events to events - Rows corresponds to events - Columns correspond to events Array has value 0 if event cannot be scheduled at same time as other event (1 otherwise) """

    array = np.ones((len(events), len(events)))
    for row, event in enumerate(events):
        for col, other_event in enumerate(events):
            if row != col:
                tags = set(event.tags)
                events_share_tag = len(tags.intersection(other_event.tags)) > 0
                if (other_event in event.unavailability) or events_share_tag:
                    array[row, col] = 0
                    array[col, row] = 0
    return array